So I tried it with the HD card. So, the first s2. When I run the vga_init and the sata patch, it crashes: Without the vga_init patch and with sata patch it works. The system boots normally to the Workbench.
Loader:elf Filesys:amigafs Dev:ide0.0 File:vga_init.elf Options:(null)
Loading: 0x0000000000100000/110988 0x000000000011B18C/6083 0x000000000011C950/2148 0x000000000011D1B4/527904 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]
=== VGA Init v1 ===
Standalone BIOS emulator for PA6T/X1000
Using U-Boot's X86EMU (fast path)
=== PXP Workaround ===
PXP_IGNORE_PCIE_ERRORS: already set
POST hook installed. Now run:
vga init -fb -keep
set console pcconsole0
=== VGA Init complete ===
Boot chaining: installed
VGA BIOS has already been initialized.
*** command status = 0
CFE> f d sata
Loader:elf Filesys:amigafs Dev:ide0.0 File:sata_fix.elf Options:(null)
Loading: 0x0000000000100000/11224 0x0000000000102BD8/2753 0x0000000000103699/43 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== SATA FIX v22 ===
Both channels + dynamic BARs + ATAPI + UDMA
Finding CFE API...
Seal at 0x7FD1F458, dispatch at 0x7FD206A4
Boot chaining: already active
BAR0=0x00001031 (Ch0 cmd=0x00001030)
BAR2=0x00001049 (Ch1 cmd=0x00001048)
Step 0: UDMA read patch
BAR4=0x00001021 -> BMDMA I/O 0x00001020
DMA trampoline installed (796 bytes), UDMA active
Step 1: AHCI port status
BAR5=0xA0209000 -> AHCI=0xA0209000 PI=0x0000000F
Port 0: PRESENT SIG=0x00000101 (ATA)
Port 1: PRESENT SIG=0x00000101 (ATA)
Port 2: PRESENT SIG=0xEB140101 (ATAPI)
Port 3: PRESENT SIG=0x00000101 (ATA)
IDE signature check:
Port 0: LBAmid=0xFD LBAhi=0x27
Port 1: LBAmid=0x00 LBAhi=0x00
Port 2: LBAmid=0xFD LBAhi=0x27 -> triggering ATAPI sig... LBAmid=0x14 LBAhi=0xEB FIXED
Port 3: LBAmid=0x00 LBAhi=0x00
Ch0 probe bitmask: 0x00000000
Ch1 probe bitmask: 0x000000FF
Step 2: Verify patch points
All 8 patch points verified OK
Step 3: Applying common patches
5 common patches applied (P2+P3+PB+PC+PE)
PA applied per-channel (only when master empty)
Step 4a: Channel 0 -- boot already found both, skipped
Step 4b: Probing Channel 1 (BAR2)...
P1+PD applied (BAR2, instance 1, master present)
IDE unit 0: Disk, "OCZ-AGILITY3", Capacity:55GB (lba48)
IDE unit 1: Disk, "Intenso SSD SATAIII", Capacity:447GB (lba48)
PCIIDE: 2 controllers found
Ch1 probe returned!
Step 7: Device tree nodes
pci@12 at 0x7FE1DF20
KMALLOC(512) = 0xFFBF43E8
Method dispatch from existing node: 0x7FDF7BEC
Creating node "ide1.0" at 0xFFBF43E8
props: name="ide1.0", device_type="block"
Creating node "ide1.1" at 0xFFBF44E8
props: name="ide1.1", device_type="block"
Appended after existing child at 0x7FE1E4D8
Verify: pci@12 children: "ide0.0" "atapi0.1"
=== SATA FIX v22 DONE ===
Try: show devices ; show devtree
*** command status = 0
Loader:elf Filesys:amigafs Dev:ide0.0 File:amigaboot.of Options:(null)
Loading: 0x0000000000200000/61536 Entry at 0x0000000000200000
Starting program at 0x0000000000200000
[RUN!];0HJ1mAmigaOS 4.x OpenFirmware Bootloader V53.21m
;1H
Please choose a configuration to boot (Default choice is green):
1: AmigaOS_4.1_Final_Edition_RX_CDm (Volume BOOT)
2: 2mAmigaOS_4.1_Final_Edition_RX_SD0m (Volume SD0)
3m[RETURN]m Boot default 3m[SPACE]m Stop Countdown
Move default 3m[UP]m or 3m[DOWN]m with arrows
3m[12]m Boot appropriate config
(5 sec. until autoboot)> (4 sec. until autoboot)>
[HELO][DRAM]SDRAM: ECC off, Non-ECC DIMM used on channel 0.
SDRAM: ECC off, Non-ECC DIMM used on channel 1.
[RELO][L1CF][GOLO][GOT ][ZBSS][INIT][MAIN][KMEM][EXCP][CONS][CIOK][AREN][PCIH][PCIB][PCIS][DEVI]
So far, I've only tested the new s3_2 with vga_init and the rx. Everything freezes when loading sata_fix
Loader:elf Filesys:amigafs Dev:ide0.0 File:sata_fix.elf Options:(null)
Loading: 0x0000000000100000/11168 0x0000000000102BA0/2717 0x000000000010363D/35 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
Wait wait, forget about s2 :) S2 - go to trash. Use s3_2.zip ONLY now (this will cope with vga_init issue too). And i really mean s3_2.zip (as in previous post), not pure s3.zip (i delete it from server already so no one else will).
@TearsOfMe Ok, good. Can you then check without vga_init it all over the places, on all bugs you may find. Just without vga_init patch. Can be radeonrx or radeonhd doesn't matter if you will do all from serial, just so i know there no more bugs in this patch exactly and all boots and works ,and detects on all ports.
It's a bit mess when there lots of different ones, so probably after we deal with all this, i better start to combine everything in one single patch (in general that was a plan as well, by small ones test small fixes and combine in one big).
vice connected to bus 0 hub 2 port 3 (low speed)[K
USB bus 0 device 4: vendor 5543 product 0004 class 03: Human-Interface Device
USBHID: Mouse Configured.[K
USB: New device connected to bus 0 hub 2 port 4 (full speed)[K
USB bus 0 device 5: vendor 040B product 0A67 class 03: Human-Interface Device
USBHID: Keyboard Configured.[K
To get back into the menu, type 'menu' on the CFE command prompt
[CFE ]CFE> sata
Loader:elf Filesys:amigafs Dev:ide0.0 File:sata_fix.elf Options:(null)
Loading: 0x0000000000100000/11168 0x0000000000102BA0/2717 0x000000000010363D/35 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== SATA FIX v22 ===
Step 4a: Channel 0 -- boot already found both, skipped
Step 4b: Probing Channel 1 (BAR2)...
P1+PD applied (BAR2, instance 1, master present)
IDE unit 0: Disk, "OCZ-AGILITY3", Capacity:55GB (lba48)
IDE unit 1: Disk, "Intenso SSD SATAIII", Capacity:447GB (lba48)
PCIIDE: 2 controllers found
Ch1 probe returned!
*** command status = 0
CFE> kez ycon
Loader:elf Filesys:amigafs Dev:ide0.0 File:KEYCON.ELF Options:(null)
Loading: 0x0000000000100000/5732 0x0000000000101664/1354 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]
=== CFE KEY REPEAT PATCH v8 ===
66.6 MHz TBR, 500ms delay, 30ms repeat
VGA backspace cross-line fix
Boot chaining: already active
Verifying patch sites...
0x7FD54160 (readkey bl): 0x4BFFFB75 OK
0x7FD54130 (POLL bl): 0x48001D75 OK
0x7FD6F0A8 (HID cb end): 0x4BFFFEB4 OK
Copying hook code (1360 bytes) to 0x7FC00000...
readkey_hook at: 0x7FC00000
poll_hook at: 0x7FC00090
hid_hook at: 0x7FC002C4
Patching readkey bl: 0x4BEABEA1
Patching POLL bl: 0x4BEABF61
Patching HID cb b: 0x4BE9121C
VT100 queue ptr @0x7FDD6C84: 0x7FDFDB8C -> 0x7FDFF128 OK
Jump table base (GOT 0x7FDD6C24): 0x7FDBC804
Old BS entry: off=0xFFF8A7AC -> 0x7FD46FB0
bs_crossline_hook at: 0x7FC0044C
New BS entry: off=0xFFE43C48
Verify: off=0xFFE43C48 -> 0x7FC0044C OK
ESC cmd table (GOT 0x7FDD6C28): 0x7FDBC854
Old K entry [10]: off=0xFFF8A734 -> 0x7FD46F88
esck_hook at: 0x7FC004CC
New K entry: off=0xFFE43C78
Verify: off=0xFFE43C78 -> 0x7FC004CC OK
*** KEY REPEAT ACTIVE ***
Hold any key: 500ms wait, then ~33 repeats/sec.
Arrows + BS + Del repeat. Home=BOL, End=EOL.
ESC[K erase-to-EOL active (fixes ghost chars).
To undo: reboot or power cycle.
*** command status = 0
CFE> cmfs fds ds
Loader:elf Filesys:amigafs Dev:ide0.0 File:CMDS.ELF Options:(null)
Loading: 0x0000000000100000/6660 0x0000000000101A04/1034 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]
=== CFE CUSTOM COMMANDS PATCH v1 ===
Commands: cls, version, help
0x7FD5B504 (cmd_exec): 0x7C0802A6 OK (mfspr r0, LR)
Copying hook code (1108 bytes) to 0x7FC02000...
VT100 ptr1 @0x7FDD6C84: 0x7FDFDB8C
dev_softc: 0x7FDFF128
vga_ctx: 0x7FDFE8D0 ncols=00000064 OK
CFE version: PAS-00000002.00000000.0000001E
Version string: 364 bytes at 0x7FC03010
cmd_hook at: 0x7FC02000
Patching cmd_exec: 0x4BEA6AFC
Verify: 0x4BEA6AFC OK
Boot chaining: already active
*** CUSTOM COMMANDS ACTIVE ***
cls, version, help (extended)
*** command status = 0
CFE> ls d dir -fs=amigadfs fs - oi ide0.0:
Directory
Emulation dir ------------rwed
Utilities.info 14774 ------------rw-d
Internet dir ------------rwed
Devs dir ------------rwed
Trashcan dir ------------rwed
Libs dir ------------rwed
Emulation.info 15444 ------------rw-d
sata.elf 8112 ------------rwed
this_is_ide0.0 1 ------------rwed
cmds.elf 10320 ------------rwed
MUI.info 16828 ------------rw-d
System.info 15366 ------------rw-d
Amigaos4boot.img.000 276267008 ------------rwed
C dir ------------rwed
L dir ------------rwed
S dir ------------rwed
Trashcan.info 12218 ------------rw-d
MUI dir ------------rwed
Fonts dir ------------rwed
sata_fix.elf 18896 ------------rwed
Utilities dir ------------rwed
Documentation.info 15728 ------------rw-d
Classes dir ------------rwed
amigaboot.of 62100 ------------rwed
Prefs.info 15944 ------------rw-d
Documentation dir ------------rwed
Storage dir ------------rwed
Kickstart dir rwedrwed----rwed
System dir ------------rwed
Locale dir ------------rwed
Devs.info 15912 ------------rw-d
Prefs dir ------------rwed
keycon.elf 9796 ------------rwed
vga_init.elf 177028 ------------rwed
Storage.info 15384 ------------rw-d
Internet.info 16456 ------------rw-d
Disk.info 13678 ------------rw-d
SObjs dir ------------rwed
Amigaos4boot.img.sii 251 ------------rwed
276721244 bytes in 20 files
19 directories
*** command status = 0
CFE> cls
[H[2J*** command status = 0
CFE> printenv
Variable Name Value
-------------------- --------------------------------------------------
ETH0_HWADDR 00:50:c2:20:d9:e2
MENU_0_LABEL AmigaOS
MENU_1_LABEL AmigaOS CD Boot
MENU_DEFAULT 0
Okay, tryed with a different card. An rx570 card and the patches working all with this card. In case it helps this is a polaris 10 card, the rx550 is polaris 12.
Step 7: Device tree nodes
pci@12 at 0x7FE1EAF0
Node memory at 0x7FDD0000 (512 bytes)
Method dispatch from existing node: 0x7FDF7BEC
Creating node "ide1.0" at 0x7FDD0000
props: name="ide1.0", device_type="block"
Creating node "ide1.1" at 0x7FDD0100
props: name="ide1.1", device_type="block"
Appended after existing child at 0x7FE1F0A8
Verify: pci@12 children: "ide0.0" "atapi0.1" "ide1.0" "ide1.1"
=== SATA FIX v22 DONE ===
Try: show devices ; show devtree
*** command status = 0
All devices found:
CFE> show devices
Device Name Description
------------------- ---------------------------------------------------------
uart0 NS16550 UART at 0xFCFF03F8
pcconsole0 PC Console (USB/VESA)
eeprom0 Microchip 24LC128 EEPROM on SMBus channel 0 dev 0x57
eth0 PA Semi Ethernet (ge3) at 0xE00A3000 (02-00-E0-0A-30-00)
flash0.os SPI flash at FFE00000 offset 00000000 size 1024KB
flash0.boot SPI flash at FFE00000 offset 00100000 size 1024KB
therm0 TI TMP423 Thermal Sensor on SMBus channel 0 dev 0x4C
cf0 CompactFlash ATA disk unit 0 at 0xF0000000
ide0.0 PCI IDE disk unit 0 at I/O 1040 (PCI:E0590000)
atapi0.1 PCI IDE disk unit 1 at I/O 1040 (PCI:E0590000)
usbdisk0 USB Disk unit 0
usbdisk1 USB Disk unit 1
ide1.0 PCI IDE disk unit 0 at I/O 1048 (PCI:E0590000)
ide1.1 PCI IDE disk unit 1 at I/O 1048 (PCI:E0590000)
*** command status = 0
Thanks for perfect upgrades!
AmigaOS3: Amiga 1200 AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000 MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
@Sailor That cool :) You can also test even by single CD to be on anything like ide1.1 or ide 1.0 and boot from, all cases should work fine, i tested many. Of course something still can be missing, but so far i tried to cover all possible cases (even with 2 cddrives at one time, etc).
@All
So, if that was not enough, there is what i work last 2 days on : udb_fix !!
Grab it while it hot, and test it the same without evertyhing, or, at least with only sata_patch:
- add hooks on USB attach/detach to dynamically create/remove device tree nodes with necessary methods enabling USB boot through amigaboot.of ! - supports both usbdisk0 and usbdisk1 simultaneously: you can have 2 sticks at the same time, both can be bootable. but you still need them be reinserted. - added support for USB CD/DVD (SubClass 2): - originally only SubClass 5-6 (flash drives) were accepted, and anything else were simple rejected. - also added EHCI read-splitting hook: originally CFE's EHCI driver rejects transfers larger than ~20KB , but USB CD-ROM doing ~90kb at once, so hook split large reads into 16kb chunks, made USB CD-ROM working (i tested on some ASUS USB CD-DVD Rom).
Try this out ! But remember, you should "reinsert" sticks/drives still, i didnt' want add enumeration in patch as it will take ~3-4 seconds on enumerating attached devices.. At least in form as i were able to do it, if it can be reduced to 1 sec, then probably that can be added (so to not slow loading down).. That to be seen, but for now, have fun with !
@kas1e I just tried usb_fix, but please, can you explain more detailed what to test?
- I can boot amigaboot.of from ext2 usb stick, both with and without usb_fix.elf - I cannot boot amigaboot.of from fat usb stick, both with and without usb_fix.elf - it allways stops with missed interrupt after loading modules and splashscreen: