copy / v86

x86 PC emulator and x86-to-wasm JIT, running in the browser
https://copy.sh/v86/
BSD 2-Clause "Simplified" License
19.64k stars 1.38k forks source link

Haiku R1 Beta 4 hangs during boot #790

Open copy opened 1 year ago

copy commented 1 year ago

Last serial output is:

Haiku revision: hrev56578+59, debug level: 1
CPU: no microcode provided
reserve_io_interrupt_vectors: reserved 2 vectors starting from 98
CPU 0: type 0 family 15 extended_family 0 model 6 extended_model 0 stepping 3, string 'GenuineIntel'
No CPU topology information available.
CPU 0: apic id 0, package 0, core 0, smt 0
CPU 0: features: fpu pse tsc msr pae cx8 sep pge cmov mmx fxsr sse sse2 popcnt rdrnd hypervisor erms 
CPU 0: patch_level 0
CPU: using TSC frequency from CPUID
reserve_io_interrupt_vectors: reserved 16 vectors starting from 0
using 32 bit paging (PAE not needed)
mark_page_range_in_use(0x0, 0x100): start page is before free list
mark_page_range_in_use(0x0, 0xa0): start page is before free list
copy commented 1 year ago

This issue only happens when booting from iso, so I've updated the haiku profile to beta4: http://copy.sh/v86/?profile=haiku

SuperMaxusa commented 1 month ago

With verbose debug serial log (hold Shift key on start -> "Select debug options" -> "Enable serial debug output"), the last message is ata 0 error: device still expects data transfer

more log messages ``` KMessage: buffer: 0x8201d910 (size/capacity: 315/315), flags: 0xa field: "booted from image" (BOOL): true field: "partition offset" (LLNG): 0 (0x0) field: "boot method" (LONG): 1 (0x1) field: "boot drive number" (LLNG): 0 (0x0) field: "disk identifier" (RAWT): data at 0x8201d9fc, 79 bytes get_boot_partitions(): boot method type: 1 intel: ep_std_ops(0x1) intel: ep_std_ops(0x2) intel: pm_std_ops(0x1) intel: pm_std_ops(0x2) PCI-ATA: Controller in legacy mode: cmd 0x1f0, ctrl 0x3f6, irq 14 PCI-ATA: init channel... PCI-ATA: channel index 0 PCI-ATA: bus master base 0xc180 PCI-ATA: init channel done ata 0: _DevicePresent: device 0, presence 1 ata 0: _DevicePresent: device 1, presence 1 ata 0: deviceMask 3 ata 0: probing device 0 ata 0: signature of device 0: 0xeb14 atapi 0-0: model number: v86 HD atapi 0-0: serial number: atapi 0-0: firmware rev.: atapi 0-0: DMA not supported by device ata 0: identified ATAPI device 0 ata 0: probing device 1 ata 0: signature of device 1: 0x0000 ata 0 error: device ready not set ata 0-1 error: sending identify request failed publish device: node 0x83349578, path disk/atapi/0/master/raw, module drivers/disk/scsi/scsi_cd/device_v1 atapi 0-0 error: invalid target lun 1 atapi 0-0 error: invalid target lun 2 atapi 0-0 error: invalid target lun 3 atapi 0-0 error: invalid target lun 4 atapi 0-0 error: invalid target lun 5 atapi 0-0 error: invalid target lun 6 atapi 0-0 error: invalid target lun 7 ata 0 error: target device not present ata 0 error: invalid target device Last message repeated 12 times. PCI-ATA: Controller in legacy mode: cmd 0x170, ctrl 0x376, irq 15 PCI-ATA: init channel... PCI-ATA: channel index 1 PCI-ATA: bus master base 0xc188 PCI-ATA: init channel done ata 1: _DevicePresent: device selection failed for device 0 ata 1: _DevicePresent: device 1, presence 0 ata 1: deviceMask 0 ata 1: ignoring device 0 ata 1: ignoring device 1 ata 1 error: target device not present ata 1 error: target device not present ata 1 error: invalid target device Last message repeated 12 times. periph_check_capacity: TRIM: Setting trim support to disabled DMAResource@0x83009b00: low/high 0/100000000, max segment count 512, align 2, boundary 65536, max transfer 524288, max segment size 134217728 slab memory manager: created area 0x85801000 (282) slab memory manager: created area 0x86001000 (283) periph_check_capacity: TRIM: Setting trim support to disabled intel: ep_std_ops(0x1) intel: ep_std_ops(0x2) periph_check_capacity: TRIM: Setting trim support to disabled raw_command: intel: pm_std_ops(0x1) intel: pm_identify_partition(0, 0: 0, 1477246976, 2048) ata 0 error: device still expects data transfer ```