Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Apr 2000 13:31:46 +0200
From:      sthaug@nethelp.no
To:        luoqi@watermarkgroup.com
Cc:        mihara@prd.fc.nec.co.jp, freebsd-smp@FreeBSD.ORG, smp@csn.net
Subject:   Re: Multiple APIC support (RE: Issues with Spankin' new Poweredge 4400 w/ dual 866's and 133MHz FSB?)
Message-ID:  <25146.956316706@verdi.nethelp.no>
In-Reply-To: Your message of "Wed, 19 Apr 2000 23:19:01 -0400 (EDT)"
References:  <200004200319.XAA26909@lor.watermarkgroup.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> > Thank you for the patch, but applying your patch results in panic
> > while booting, just after showing avail memory.  Here is the boot log.
> > (Even if second IO-APIC is disabled, the phenomenon is same.)
> > 
> My fault, I made a mistake in the patch. Here's the correct one
> (the offset should be added before typecasting),

The pmap.c code looks somewhat different in 3.4-STABLE, and it wasn't
obvious to me what the complete patch for 3.4-STABLE would be.

However, I was trying to get an IBM Netfinity 5600 server to run SMP,
and this box has both the two IOAPICs on page boundaries. Thus I was
hoping I could get away with only fixing the typo you found:

*** pmap.c.orig	Sat Apr  1 23:58:17 2000
--- pmap.c	Fri Apr 21 12:30:11 2000
***************
*** 434,440 ****
  		for (j = 0; j < 16; j++) {
  			/* same page frame as a previous IO apic? */
  			if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) ==
! 			    (io_apic_address[0] & PG_FRAME)) {
  				ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE];
  				break;
  			}
--- 434,440 ----
  		for (j = 0; j < 16; j++) {
  			/* same page frame as a previous IO apic? */
  			if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) ==
! 			    (io_apic_address[i] & PG_FRAME)) {
  				ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE];
  				break;
  			}

and this does indeed seem to be the case. I'm now happily running SMP
on this box.

Steinar Haug, Nethelp consulting, sthaug@nethelp.no
----------------------------------------------------------------------
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 3.4-STABLE #0: Fri Apr 21 12:34:24 CEST 2000
    sthaug@mail1.enitel.no:/local/freebsd/stable3/src/sys/compile/NF5600_SMP
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon (599.72-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x681  Stepping = 1
  Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,<b18>,MMX,FXSR,<b25>>
real memory  = 939524096 (917504K bytes)
avail memory = 911634432 (890268K bytes)
Programming 16 pins in IOAPIC #0
Programming 16 pins in IOAPIC #1
IOAPIC #1 intpint 0 -> irq 16
IOAPIC #1 intpint 2 -> irq 17
IOAPIC #1 intpint 3 -> irq 18
IOAPIC #1 intpint 4 -> irq 21
IOAPIC #1 intpint 5 -> irq 22
IOAPIC #1 intpint 6 -> irq 23
IOAPIC #1 intpint 7 -> irq -1
IOAPIC #1 intpint 8 -> irq -1
IOAPIC #1 intpint 9 -> irq -1
IOAPIC #1 intpint 10 -> irq -1
IOAPIC #1 intpint 11 -> irq 5
IOAPIC #1 intpint 12 -> irq 19
IOAPIC #1 intpint 13 -> irq 20
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  1, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id: 14, version: 0x000f0011, at 0xfec00000
 io1 (APIC): apic id: 15, version: 0x000f0011, at 0xfec01000
Preloaded elf kernel "kernel.smp" at 0xc02f5000.
Pentium Pro MTRR support enabled
Probing for devices on PCI bus 0:
chip0: <RCC host to PCI bridge> rev 0x05 on pci0.0.0
chip1: <RCC host to PCI bridge> rev 0x05 on pci0.0.1
vga0: <S3 model 8904 graphics accelerator> rev 0x01 int a irq 255 on pci0.1.0
lnc1: <PCNet/PCI Ethernet adapter> rev 0x43 int a irq 5 on pci0.2.0
ahc0: <Adaptec 2940 Ultra2 SCSI adapter> rev 0x00 int a irq 16 on pci0.9.0
ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
chip2: <PCI to PCI bridge (vendor=1011 device=0024)> rev 0x03 on pci0.10.0
chip3: <PCI to ISA bridge (vendor=1166 device=0200)> rev 0x4f on pci0.15.0
Probing for devices on PCI bus 1:
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 17 on pci1.4.0
fxp0: Ethernet address 00:d0:b7:5f:b7:a8
fxp1: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 18 on pci1.5.0
fxp1: Ethernet address 00:d0:b7:5f:b7:a9
Probing for devices on PCI bus 2:
ahc1: <Adaptec aic7896/97 Ultra2 SCSI adapter> rev 0x00 int a irq 19 on pci2.3.0
bogus MP table, 2 IO APIC pins connected to the same PCI device or ISA/EISA interrupt
Registered extra interrupt handler for int 20 (in addition to int 19)
ahc1: aic7896/97 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc2: <Adaptec aic7896/97 Ultra2 SCSI adapter> rev 0x00 int a irq 19 on pci2.3.1
bogus MP table, 2 IO APIC pins connected to the same PCI device or ISA/EISA interrupt
Registered extra interrupt handler for int 20 (in addition to int 19)
ahc2: aic7896/97 Wide Channel B, SCSI Id=7, 16/255 SCBs
ti0: <Netgear GA620 Gigabit Ethernet> rev 0x01 int a irq 21 on pci2.5.0
ti0: Ethernet address: 00:a0:cc:73:32:dd
Probing for devices on PCI bus 3:
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <16 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
lnc0 not found at 0x280
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: Broken MP table detected: 8254 is not connected to IO APIC int pin 2
APIC_IO: routing 8254 via 8259 on pin 0
Waiting 3 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
sa0 at ahc0 bus 0 target 0 lun 0
sa0: <SONY TSL-A500C L100> Removable Sequential Access SCSI-2 device 
sa0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit)
pass1 at ahc0 bus 0 target 0 lun 1
pass1: <SONY TSL-A500C L100> Removable Changer SCSI-2 device 
pass1: 40.000MB/s transfers (20.000MHz, offset 15, 16bit)
pass4 at ahc1 bus 0 target 15 lun 0
pass4: <IBM LN V1.2Rack B004> Fixed Processor SCSI-2 device 
pass4: 3.300MB/s transfers
changing root device to da0s1a
da0 at ahc1 bus 0 target 0 lun 0
da0: <IBM-PSG ST39175LC     !# 0350> Fixed Direct Access SCSI-2 device 
da0: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing Enabled
da0: 8678MB (17774160 512 byte sectors: 255H 63S/T 1106C)
da1 at ahc1 bus 0 target 1 lun 0
da1: <IBM-PSG ST39175LC     !# 0350> Fixed Direct Access SCSI-2 device 
da1: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing Enabled
da1: 8678MB (17774160 512 byte sectors: 255H 63S/T 1106C)
cmd ntpd pid 132 tried to use non-present sched_get_priority_max
cmd ntpd pid 132 tried to use non-present sched_setscheduler
ti0: gigabit link up


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?25146.956316706>