PERFORCE change 69081 for review
Peter Wemm
peter at FreeBSD.org
Sat Jan 15 12:38:34 PST 2005
http://perforce.freebsd.org/chv.cgi?CH=69081
Change 69081 by peter at peter_overcee on 2005/01/15 20:38:11
integ -b i386_hammer
Affected files ...
.. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#41 integrate
.. //depot/projects/hammer/sys/amd64/amd64/mptable.c#34 integrate
.. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#64 integrate
.. //depot/projects/hammer/sys/amd64/conf/GENERIC.hints#12 integrate
Differences ...
==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#41 (text+ko) ====
@@ -449,7 +449,7 @@
printf("lapic%u:", apic_id);
}
if (bootverbose)
- printf(" LINT%u polarity: active-%s\n", pin,
+ printf(" LINT%u polarity: %s\n", pin,
pol == INTR_POLARITY_HIGH ? "high" : "low");
return (0);
}
==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#34 (text+ko) ====
@@ -628,23 +628,38 @@
mptable_parse_io_int(int_entry_ptr intr)
{
void *ioapic;
- u_int pin;
+ u_int pin, apic_id;
+ apic_id = intr->dst_apic_id;
if (intr->dst_apic_id == 0xff) {
- printf("MPTable: Ignoring global interrupt entry for pin %d\n",
- intr->dst_apic_int);
- return;
+ /*
+ * An APIC ID of 0xff means that the interrupt is connected
+ * to the specified pin on all I/O APICs in the system. If
+ * there is only one I/O APIC, then use that APIC to route
+ * the interrupts. If there is more than one I/O APIC, then
+ * punt.
+ */
+ if (mptable_nioapics == 1) {
+ apic_id = 0;
+ while (ioapics[apic_id] == NULL)
+ apic_id++;
+ } else {
+ printf(
+ "MPTable: Ignoring global interrupt entry for pin %d\n",
+ intr->dst_apic_int);
+ return;
+ }
}
- if (intr->dst_apic_id >= NAPICID) {
+ if (apic_id >= NAPICID) {
printf("MPTable: Ignoring interrupt entry for ioapic%d\n",
intr->dst_apic_id);
return;
}
- ioapic = ioapics[intr->dst_apic_id];
+ ioapic = ioapics[apic_id];
if (ioapic == NULL) {
printf(
"MPTable: Ignoring interrupt entry for missing ioapic%d\n",
- intr->dst_apic_id);
+ apic_id);
return;
}
pin = intr->dst_apic_int;
==== //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#64 (text+ko) ====
@@ -239,7 +239,7 @@
/*
* Initialize machine state (pcb and trap frame) for a new thread about to
- * upcall. Pu t enough state in the new thread's PCB to get it to go back
+ * upcall. Put enough state in the new thread's PCB to get it to go back
* userret(), where we can intercept it again to set the return (upcall)
* Address and stack, along with those from upcals that are from other sources
* such as those generated in thread_userret() itself.
==== //depot/projects/hammer/sys/amd64/conf/GENERIC.hints#12 (text+ko) ====
More information about the p4-projects
mailing list