On 2010/01/22 at 11:50, svn@openbios.org wrote:
Author: blueswirl Date: 2010-01-22 19:50:54 +0100 (Fri, 22 Jan 2010) New Revision: 667
Modified: trunk/openbios-devel/include/sparc64/pci.h Log: Sparc64: use correct PCI probe mechanism
Signed-off-by: Blue Swirl blauwirbel@gmail.com
Output after updating to this revision:
OpenBIOS for Sparc64 Cannot manage 'multimedia device' PCI device type '<NULL>': 8e10 50 (4 6 0) Cannot manage 'multimedia device' PCI device type '<NULL>': 8e10 50 (4 6 0) Cannot manage 'undefined' PCI device type '<NULL>': 3412 1111 (0 3 0) set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle Cannot manage 'invalid PCI device' PCI device type 'invalid': 8e10 10 (80 6 0) Cannot manage 'undefined' PCI device type '<NULL>': ec10 2980 (0 2 0) set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle set_property: NULL phandle Cannot manage 'IDE controller' PCI device type 'ide': 9510 4606 (1 1 8f) Configuration device id QEMU version 1 machine id 0 kernel cmdline CPUs: 1 x SUNW,UltraSPARC-II UUID: 00000000-0000-0000-0000-000000000000
$call-method: instance method not found
$call-method: instance method not found Input device ttya not found. Output device ttya not found. Output device ttya not found. Input device ttya not found. Output device screen not found. Type 'help' for detailed information
[sparc64] Booting file 'cdrom' with parameters ''
$call-method: instance method not found
0 > nick@nick0:~/Temp/qemu>
-Nick
-------- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.
On Fri, Jan 22, 2010 at 9:07 PM, Nick Couchman Nick.Couchman@seakr.com wrote:
On 2010/01/22 at 11:50, svn@openbios.org wrote:
Author: blueswirl Date: 2010-01-22 19:50:54 +0100 (Fri, 22 Jan 2010) New Revision: 667
Modified: trunk/openbios-devel/include/sparc64/pci.h Log: Sparc64: use correct PCI probe mechanism
Signed-off-by: Blue Swirl blauwirbel@gmail.com
Output after updating to this revision:
OpenBIOS for Sparc64 Cannot manage 'multimedia device' PCI device type '<NULL>': 8e10 50 (4 6 0)
Please update to QEMU git HEAD. PCI access was changed in a very incompatible way in both places. The new way is however compatible with what Linux expects. I get this:
[sparc64] Kernel already loaded
PROMLIB: Sun IEEE Boot Prom 'OBP 3.10.24 1999/01/01 01:01' PROMLIB: Root node compatible: sun4u Linux version 2.6.32 (test@host) (gcc version 4.2.4) #9 SMP Fri Jan 22 18:48:45 UTC 2010 bootconsole [earlyprom0] enabled ARCH: SUN4U Ethernet address: 52:54:00:12:34:56 Kernel: Using 2 locked TLB entries for main kernel image. Remapping the kernel... done. OF stdout device is: /pci@1fe,0/pci@1/pci@1,1/ebus@3/su@1fe PROM: Built device tree with 32175 bytes of memory. Top of RAM: 0x7e80000, Total RAM: 0x7e80000 Memory hole size: 0MB Zone PFN ranges: Normal 0x00000000 -> 0x00003f40 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00003f40 On node 0 totalpages: 16192 Normal zone: 127 pages used for memmap Normal zone: 0 pages reserved Normal zone: 16065 pages, LIFO batch:3 Booting Linux... PERCPU: Embedded 5 pages/cpu @fffff80001400000 s16000 r0 d24960 u4194304 pcpu-alloc: s16000 r0 d24960 u4194304 alloc=1*4194304 pcpu-alloc: [0] 0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16065 Kernel command line: root=/dev/hda1 console=prom -p debug lpj=100000 PID hash table entries: 512 (order: -1, 4096 bytes) Dentry cache hash table entries: 16384 (order: 4, 131072 bytes) Inode-cache hash table entries: 8192 (order: 3, 65536 bytes) Memory: 116592k available (2720k kernel code, 800k data, 216k init) [fffff80000000000,0000000007e80000] SLUB: Genslabs=14, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. NR_IRQS:255 clocksource: mult[a0000] shift[16] clockevent: mult[19999999] shift[32] Console: colour dummy device 80x25 Calibrating delay loop (skipped) preset value.. 50.00 BogoMIPS (lpj=100000) Mount-cache hash table entries: 512 Brought up 1 CPUs CPU0 attaching NULL sched-domain. NET: Registered protocol family 16 /pci: PCI IO[1fe02000000] MEM[1ff00000000] /pci: SABRE PCI Bus Module ver[0:0] PCI: Scanning PBM /pci ------------[ cut here ]------------ WARNING: at /src/linux.git/fs/sysfs/dir.c:491 sysfs_add_one+0x8c/0xc0() sysfs: cannot create duplicate filename '/class/pci_bus/0000:00' Call Trace: [000000000045cd68] warn_slowpath_fmt+0x28/0x40 [0000000000507bac] sysfs_add_one+0x8c/0xc0 [0000000000508dbc] sysfs_do_create_link+0x9c/0x160 [00000000005c8568] device_add+0x3c8/0x500 [0000000000578494] pci_bus_add_child+0x14/0x80 [00000000005786a4] pci_bus_add_devices+0x144/0x200 [000000000057864c] pci_bus_add_devices+0xec/0x200 [00000000006a02ec] pci_scan_one_pbm+0x6c/0xa0 [00000000006a0b30] sabre_probe+0x2d0/0x5a0 [000000000061e8fc] of_platform_device_probe+0x3c/0x80 [00000000005caff0] driver_probe_device+0x70/0x160 [00000000005cb158] __driver_attach+0x78/0xa0 [00000000005ca4ac] bus_for_each_dev+0x4c/0x80 [00000000005caabc] bus_add_driver+0x9c/0x240 [00000000005cb510] driver_register+0x50/0x160 [0000000000426ab8] do_one_initcall+0x18/0x160 ---[ end trace 139ce121c98e96c9 ]--- pci 0000:00:01.1: Error adding bus, continuing ------------[ cut here ]------------ WARNING: at /src/linux.git/fs/sysfs/dir.c:491 sysfs_add_one+0x8c/0xc0() sysfs: cannot create duplicate filename '/class/pci_bus/0000:00' Call Trace: [000000000045cd68] warn_slowpath_fmt+0x28/0x40 [0000000000507bac] sysfs_add_one+0x8c/0xc0 [0000000000508dbc] sysfs_do_create_link+0x9c/0x160 [00000000005c8568] device_add+0x3c8/0x500 [0000000000578494] pci_bus_add_child+0x14/0x80 [00000000005786a4] pci_bus_add_devices+0x144/0x200 [00000000006a02ec] pci_scan_one_pbm+0x6c/0xa0 [00000000006a0b30] sabre_probe+0x2d0/0x5a0 [000000000061e8fc] of_platform_device_probe+0x3c/0x80 [00000000005caff0] driver_probe_device+0x70/0x160 [00000000005cb158] __driver_attach+0x78/0xa0 [00000000005ca4ac] bus_for_each_dev+0x4c/0x80 [00000000005caabc] bus_add_driver+0x9c/0x240 [00000000005cb510] driver_register+0x50/0x160 [0000000000426ab8] do_one_initcall+0x18/0x160 [000000000077c3c8] kernel_init+0x1c8/0x240 ---[ end trace 139ce121c98e96ca ]--- pci 0000:00:01.0: Error adding bus, continuing bio: create slab <bio-0> at 0 vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=none,locks=none vgaarb: loaded usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource tick NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 8192 bytes) TCP established hash table entries: 4096 (order: 3, 65536 bytes) TCP bind hash table entries: 4096 (order: 3, 65536 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered NET: Registered protocol family 1 io scheduler noop registered (default) ------------[ cut here ]------------ WARNING: at /src/linux.git/fs/proc/generic.c:590 proc_register+0x108/0x200() proc_dir_entry 'pci/0000:00' already registered Call Trace: [000000000045cd68] warn_slowpath_fmt+0x28/0x40 [0000000000500568] proc_register+0x108/0x200 [0000000000500870] proc_mkdir_mode+0x30/0x60 [00000000005813f4] pci_proc_attach_device+0xb4/0xe0 [000000000079165c] pci_proc_init+0x5c/0xa0 [0000000000426ab8] do_one_initcall+0x18/0x160 [000000000077c3c8] kernel_init+0x1c8/0x240 [000000000042b3b0] kernel_thread+0x30/0x60 [000000000069d398] rest_init+0x18/0x80 ---[ end trace 139ce121c98e96cb ]--- ------------[ cut here ]------------ WARNING: at /src/linux.git/fs/proc/generic.c:590 proc_register+0x108/0x200() proc_dir_entry 'pci/0000:00' already registered Call Trace: [000000000045cd68] warn_slowpath_fmt+0x28/0x40 [0000000000500568] proc_register+0x108/0x200 [0000000000500870] proc_mkdir_mode+0x30/0x60 [00000000005813f4] pci_proc_attach_device+0xb4/0xe0 [000000000079165c] pci_proc_init+0x5c/0xa0 [0000000000426ab8] do_one_initcall+0x18/0x160 [000000000077c3c8] kernel_init+0x1c8/0x240 [000000000042b3b0] kernel_thread+0x30/0x60 [000000000069d398] rest_init+0x18/0x80 ---[ end trace 139ce121c98e96cc ]--- su: probe of ffe2ee58 failed with error -12 Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled loop: module loaded nbd: registered device at major 43 Uniform Multi-Platform E-IDE driver cmd64x 0000:00:05.0: IDE controller (0x1095:0x0646 rev 0x07) cmd64x 0000:00:05.0: 100% native mode on irq 1 ide0: BM-DMA at 0x1fe02000700-0x1fe02000707 ide1: BM-DMA at 0x1fe02000708-0x1fe0200070f Probing IDE interface ide0...
Then it hangs because the ticks are not working.
Please update to QEMU git HEAD. PCI access was changed in a very incompatible way in both places. The new way is however compatible with what Linux expects. I get this:
Ah, I see - much better, back to the byte-load stack overflow when trying to load Milax.
-Nick
-------- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.