Post by s***@9front.orgPost by Burton SamogradPost by s***@9front.orgCan you try getting rid of *nomp=1 and setting *msi=1
I tried removing *nomp and adding *msi and got similar errors,
but with ioapicenable and mpreenable. The disks got recognized
a lot faster this time, which was better, but my keyboard didn't work :-/
I can't really capture the full output as a lot of it scrolls off the screen
but I can write a more detailed description if anybody is interested.
Some combination of *msi=1, *nousbehci=1 and/or *nousbuhci=1 may enable
the SATA drive and USB keyboard simultaneously (especially if your system
is capable of falling back to PS2 keyboard emulation), but in these cases
USB itself has never worked for me. This is all hit or miss; it's a bit
surprising that so many modern mp systems seem to work as well as they do.
Prior to aiju's msi hack, my T61 was not able to use mp and its Ethernet
port at the same time.
are you calling msi a hack, or the implementation?
imho, msi interrupts are quite nice. much better than mp interrupts
through an ioapic.
in any event, i would be interested in a dump of these machine's ioapics and lapics.
one thing that i've found to be a problem with plan 9 is the incorrect
assumption that ioapics and lapics occupy the same apic id space. this
is not true. in addition, the mp table seldom has much information.
the acpi tables often need consulting. the 9atom kernel has support
for all this. (perhaps bordering on overkill. :-)) i've included a listing
of an odd machine i have to illustrate the wierd setups some machines have.
- erik
ibmblade; grep -i apic /dev/kmesg
APIC lapic addr 0xfee00000, flags 0x00000001
apic proc 0/0 apicid 0 flags (mp)
apic proc 1/2 apicid 2 flags
apic proc 2/3 apicid 4 flags
apic proc 3/4 apicid 6 flags
apic proc 4/5 apicid 8 flags
apic proc 5/6 apicid 10 flags
apic proc 6/1 apicid 32 flags (mp)
apic proc 7/7 apicid 34 flags
apic proc 8/8 apicid 36 flags
apic proc 9/9 apicid 38 flags
apic proc 10/10 apicid 40 flags
apic proc 11/11 apicid 42 flags
apic proc 12/12 apicid 1 flags
apic proc 13/13 apicid 3 flags
apic proc 14/14 apicid 5 flags
apic proc 15/15 apicid 7 flags
apic proc 16/16 apicid 9 flags
apic proc 17/17 apicid 11 flags
apic proc 18/18 apicid 33 flags
apic proc 19/19 apicid 35 flags
apic proc 20/20 apicid 37 flags
apic proc 21/21 apicid 39 flags
apic proc 22/22 apicid 41 flags
apic proc 23/23 apicid 43 flags
ioapic 8 addr fec00000 base 0 (mp)
ioapic 9 addr fec01000 base 24 (mp)
ioapic 10 addr fec40000 base 48 (mp)
apicnos: 00/00 01/01 02/02 03/03 04/04 05/05 06/06 07/07 08/08 09/09 0a/0a 0b/0b 20/20 21/21 22/22 23/23 24/24 25/25 26/26 27/27 28/28 29/29 2a/2a 2b/2b
apic: 24 machs started; phys mode vectors
ibmblade; cat /dev/mpapic
proc 0 00000000 00000000 00000000 be 0
proc 1 01000000 01000000 01000000 e 12
proc 2 02000000 02000000 02000000 e 2
proc 3 03000000 03000000 03000000 e 13
proc 4 04000000 04000000 04000000 e 3
proc 5 05000000 05000000 05000000 e 14
proc 6 06000000 06000000 06000000 e 4
proc 7 07000000 07000000 07000000 e 15
ioapic 8 00000000 00000000 00000000 e 0
proc 8 08000000 08000000 08000000 e 5
ioapic 9 00000000 00000000 00000000 e 0
proc 9 09000000 09000000 09000000 e 16
ioapic a 00000000 00000000 00000000 e 0
proc a 0a000000 0a000000 0a000000 e 6
proc b 0b000000 0b000000 0b000000 e 17
proc 20 20000000 20000000 20000000 e 1
proc 21 21000000 21000000 21000000 e 18
proc 22 22000000 22000000 22000000 e 7
proc 23 23000000 23000000 23000000 e 19
proc 24 24000000 24000000 24000000 e 8
proc 25 25000000 25000000 25000000 e 20
proc 26 26000000 26000000 26000000 e 9
proc 27 27000000 27000000 27000000 e 21
proc 28 28000000 28000000 28000000 e 10
proc 29 29000000 29000000 29000000 e 22
proc 2a 2a000000 2a000000 2a000000 e 11
proc 2b 2b000000 2b000000 2b000000 e 23