From: cinap_lenrek@gmx.de
To: 9fans@9fans.net
Subject: Re: [9fans] 'no fat' - boot failure
Date: Tue, 15 May 2012 19:11:51 +0200 [thread overview]
Message-ID: <135284c5677219a610f1972a69583e20@rei2.9hal> (raw)
In-Reply-To: <bed3edb8a5a382d4de466341702fcb03@ladd.quanstro.net>
no. the i/o apics are programmed like before as specified in the iointr
entry from the mp table. i have no way differentiating if this is a
real isa bus or some compatibilty hack or just plain wrong mp table.
i looked in openbsd code and just figured they allow sharing edge
interrupts so i just removed the level check.
Each I/O APIC is assigned a base GSI by the BIOS. Each input pin on the
I/O APIC is mapped to a GSI number by adding the pin number (zero-based)
to the base GSI. Thus, if an I/O APIC has a base GSI of N, pin 0 on that
I/O APIC has a GSI of N, pin 1 has a GSI of N + 1, etc. The I/O APIC with
a base GSI of 0 maps the ISA IRQs onto its first 16 input pins. Thus, the
ISA IRQs are effectively always mapped 1:1 onto GSIs. More details about
GSIs can be found in Section 5.2.11 of the ACPI 2.0c spec [2].
looking at a random linux dmesg of a T61 from the web, i see that our
ioapic indeed has GSI base of 0. so ioapic pins 0-15 are the (fake)
isa irq's like they are specified in the mptable.
term% grep -in GSI /tmp/dmesg
108: [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
109: [ 0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
118: [ 0.000000] nr_irqs_gsi: 40
611: [ 0.575784] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
613: [ 0.575796] pci 0000:00:1c.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
615: [ 0.575810] pci 0000:00:1c.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
617: [ 0.575824] pci 0000:00:1c.2: PCI INT C -> GSI 22 (level, low) -> IRQ 22
619: [ 0.575838] pci 0000:00:1c.3: PCI INT D -> GSI 23 (level, low) -> IRQ 23
621: [ 0.575850] pci 0000:00:1c.4: PCI INT A -> GSI 20 (level, low) -> IRQ 20
625: [ 0.575875] pci 0000:15:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
730: [ 1.010177] serial 0000:00:03.3: PCI INT B -> GSI 17 (level, low) -> IRQ 17
738: [ 1.032435] ata_piix 0000:00:1f.1: PCI INT C -> GSI 16 (level, low) -> IRQ 16
745: [ 1.033155] pata_acpi 0000:00:03.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
749: [ 1.033236] ata_generic 0000:00:03.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
762: [ 1.034141] ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 22 (level, low) -> IRQ 22
773: [ 1.090199] ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 19 (level, low) -> IRQ 19
785: [ 1.160231] uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
794: [ 1.160507] uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
803: [ 1.160783] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
810: [ 1.161055] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
819: [ 1.161324] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
866: [ 1.507624] sdhci-pci 0000:15:00.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
873: [ 1.515999] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
877: [ 1.544416] firewire_ohci 0000:15:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
884: [ 2.052404] ahci 0000:00:1f.2: PCI INT B -> GSI 16 (level, low) -> IRQ 16
938: [ 11.919940] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
973: [ 12.007486] HDA Intel 0000:00:1b.0: PCI INT B -> GSI 17 (level, low) -> IRQ 17
984: [ 12.011732] r852 0000:15:00.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
1024: [ 12.354855] iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
so this would give the following mapping for pci devices to the
ioapic intrin pins:
bus dev INTP dev*4+(INTP-1) intrin
0 1 1 4 16
0 3 2 13 17
0 3 3 14 18
0 25 1 100 20
0 26 1 104 20
0 26 2 105 21
0 26 3 106 22
0 28 1 112 20
0 28 2 113 21
0 28 3 114 22
0 28 4 115 23
0 29 1 116 16
0 29 2 117 17
0 29 3 118 18
0 29 4 119 19
0 31 2 125 16
0 31 3 126 16
1 0 1 0 16
3 0 1 0 17
21 0 1 0 16
21 0 2 1 17
21 0 3 2 18
could generate a new mp table from this mapping. 9front kernel
lets you override the mp table. will try this...
--
cinap
next prev parent reply other threads:[~2012-05-15 17:11 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-13 21:07 Burton Samograd
2012-05-13 21:48 ` cinap_lenrek
2012-05-14 0:22 ` Burton Samograd
2012-05-14 1:19 ` Burton Samograd
[not found] ` <CAM8pOuMYGKSuSMUheyWqMXaf6pKwwkb+2bb5OkfGZSK2XcEVmQ@mail.gmail.c>
2012-05-14 2:56 ` erik quanstrom
2012-05-14 3:01 ` Burton Samograd
[not found] ` <CAM8pOuPUrCogvgDOzi_B0XxrT8RZDQZ7fOB0HhCwtXhFLaSA1g@mail.gmail.c>
2012-05-14 3:10 ` erik quanstrom
2012-05-14 22:12 ` cinap_lenrek
2012-05-15 0:57 ` Burton Samograd
2012-05-15 2:05 ` sl
2012-05-15 2:28 ` erik quanstrom
2012-05-15 2:48 ` sl
2012-05-15 9:19 ` erik quanstrom
2012-05-15 2:36 ` Burton Samograd
2012-05-15 2:39 ` Burton Samograd
2012-05-15 2:57 ` sl
2012-05-15 9:11 ` erik quanstrom
2012-05-15 15:04 ` cinap_lenrek
2012-05-15 15:26 ` erik quanstrom
2012-05-15 17:11 ` cinap_lenrek [this message]
2012-05-15 19:51 ` cinap_lenrek
2012-05-15 20:29 ` Burton Samograd
2012-05-15 20:33 ` cinap_lenrek
2012-05-15 23:49 ` cinap_lenrek
2012-05-16 0:05 ` sl
[not found] ` <CAM8pOuOtwTFjJDPYo_K3L580Zv-W24_XU-ZiBjP-6p9SFkHNkA@mail.gmail.c>
2012-05-15 9:20 ` erik quanstrom
[not found] ` <CAM8pOuMnp3xPw58g-7a7O_3HhOqf9=Z=DP-XfaGXQJdWyzrVFw@mail.gmail.c>
2012-05-15 9:31 ` erik quanstrom
2012-05-15 12:19 ` Burton Samograd
2012-05-15 12:40 ` Burton Samograd
[not found] ` <CAM8pOuOdLnTgqj1BOKhZe550Cc=QvfncgqgixcCAifKQSytFJA@mail.gmail.c>
2012-05-15 13:39 ` erik quanstrom
[not found] ` <CAM8pOuMbwVj0_s+SFMdT7qHe5oAg6Yux4shm189-Pd3-Gp2+mQ@mail.gmail.c>
2012-05-15 13:28 ` erik quanstrom
2012-05-15 14:12 ` Burton Samograd
[not found] ` <D2A5C7470D67A54FACE86B838946D49D14E466F74E@NJ4MSGSCR02.markit.pa>
2012-05-15 15:02 ` erik quanstrom
2012-05-15 2:26 ` erik quanstrom
2012-05-14 3:56 ` Ethan Grammatikidis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=135284c5677219a610f1972a69583e20@rei2.9hal \
--to=cinap_lenrek@gmx.de \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).