More power patches

Don Lewis truckman at FreeBSD.org
Sat Jan 10 19:20:14 PST 2004


On  7 Jan, M. Warner Losh wrote:
> I've updated the power patches.  This includes the
> transparent/secondary bridge support and tweaks to the last version.
> This should help people who have been forced to set
> hw.pci.unsupported_io_ranges=1.  There's slightly imporved lazy
> resource support, the power stuff (but I've not fixed the null power
> method stuff).  You may notice that the resources for CardBus and PC
> Card cards are different.  For me I see
> 
> ep0: <3Com OfficeConnect 572B> at port 0xe000-0xe01f irq 10 function 0 config 1 on pccard1
> 
> where before I saw:
> 
> ep0: <3Com OfficeConnect 572B> at port 0x100-0x11f irq 10 function 0 config 1 on pccard1
> 
> based on what the bridge is configured to pass.
> 
> 	http://people.freebsd.org/~imp/power.20040107.diff
> 
> This won't help the interrupt routing issues people have had, nor will
> it help the bus numbering issues that have been seen in the wild.
> 
> Please let me know how well this works for you.

With today's src, it fails to compile ...

cc -c -O -pipe -mcpu=pentiumpro -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99 -g -nostdinc -I-  -I. -I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd -I/usr/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 -fno-strict-aliasing  -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Werror  /usr/src/sys/pci/if_dc.c
/usr/src/sys/pci/if_dc.c: In function `dc_suspend':
/usr/src/sys/pci/if_dc.c:3776: warning: unused variable `i'
/usr/src/sys/pci/if_dc.c: In function `dc_resume':
/usr/src/sys/pci/if_dc.c:3800: warning: unused variable `i'
*** Error code 1

Once I get past that problem and boot the kernel, fxp0 still has an irq
problem, but I previously committed a patch to fix the resulting panic
in the detach code, and then the machine panics in the fwohci interrupt
handler.


Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.2-CURRENT #104: Sat Jan 10 18:44:48 PST 2004
    dl at hairball.catspoiler.org:/usr/obj/usr/src/sys/ACPI_DEBUG
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0abe000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0abe26c.
ACPI debug layer 0x0 debug level 0x0
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 1500MHz (1498.74-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x695  Stepping = 5
  Features=0xa7e9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE>
real memory  = 536215552 (511 MB)
avail memory = 515100672 (491 MB)
Pentium Pro MTRR support enabled
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <IBM TP-1P> on motherboard
acpi_ec0: <Embedded Controller: ECDT, GPE 0x1c, GLK> port 0x66,0x62 on acpi0
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00fded0
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_cpu0: <CPU> on acpi0
acpi_ec0: info: new max delay is 340 us
acpi_tz0: <Thermal Zone> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0:0:0: setting power state D0
pci0:29:0: setting power state D0
pcib0: slot 29 INTA is routed to irq 11
pci0:29:1: setting power state D0
pcib0: slot 29 INTB is routed to irq 5
pci0:29:2: setting power state D0
pcib0: slot 29 INTC is routed to irq 9
pci0:29:7: setting power state D0
pcib0: slot 29 INTD is routed to irq 11
pci0:31:0: setting power state D0
pci0:31:1: setting power state D0
pci0:31:3: setting power state D0
pcib0: slot 31 INTB is routed to irq 10
pci0:31:5: setting power state D0
pcib0: slot 31 INTB is routed to irq 10
pci0:31:6: setting power state D0
pcib0: slot 31 INTB is routed to irq 10
agp0: <Intel 82855 host to AGP bridge> mem 0xd0000000-0xdfffffff at device 0.0 on pci0
agp0: Bus reserved 0x10000000 bytes for rid 0x10 type 3 at 0xd0000000
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1:0:0: setting power state D0
pcib1: slot 0 INTA is routed to irq 11
pci1: <display, VGA> at device 0.0 (no driver attached)
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0x1800-0x181f irq 11 at device 29.0 on pci0
uhci0: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1800
usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1: IBM Corporation product 0x4482, class 9/0, rev 2.00/0.00, addr 2
uhub1: 4 ports with 4 removable, self powered
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0x1820-0x183f irq 5 at device 29.1 on pci0
uhci1: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1820
usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0x1840-0x185f irq 9 at device 29.2 on pci0
uhci2: Bus reserved 0x20 bytes for rid 0x20 type 4 at 0x1840
usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pci0:29:7: setting power state D3
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib2: slot 0 INTA is routed to irq 5
pci2:2:0: setting power state D0
pcib2: slot 2 INTA is routed to irq 9
pci2:7:0: setting power state D0
pcib2: slot 7 INTA is routed to irq 11
pci2:8:0: setting power state D0
pcib2: slot 8 INTA is routed to irq 11
cbb0: <TI1510 PCI-CardBus Bridge> irq 5 at device 0.0 on pci2
cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0xc0209800
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb0: [MPSAFE]
an0: <Cisco Aironet MPI350> port 0x8000-0x80ff mem 0xc0400000-0xc07fffff,0xc0200000-0xc0203fff irq 9 at device 2.0 on pci2
an0: Bus reserved 0x100 bytes for rid 0x10 type 4 at 0x8000
an0: Bus reserved 0x4000 bytes for rid 0x14 type 3 at 0xc0200000
an0: Bus reserved 0x400000 bytes for rid 0x18 type 3 at 0xc0400000
an0: got RSSI <-> dBM map
an0: Ethernet address: 00:02:8a:a3:3c:a8
an0: supported rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
fwohci0: vendor=104c, dev=8026
fwohci0: <1394 Open Host Controller Interface> mem 0xc0204000-0xc0207fff,0xc0209000-0xc02097ff irq 11 at device 7.0 on pci2
fwohci0: Bus reserved 0x800 bytes for rid 0x10 type 3 at 0xc0209000
fwohci0: OHCI version 0.0 (ROM=0)
fwohci0: invalid OHCI version
fwohci0: FireWire init failed with err=6
device_probe_and_attach: fwohci0 attach returned 5
fxp0: <Intel 82801DB (ICH4) Pro/100 VE Ethernet> port 0x8400-0x843f mem 0xc0208000-0xc0208fff irq 11 at device 8.0 on pci2
fxp0: Bus reserved 0x1000 bytes for rid 0x10 type 3 at 0xc0208000
fxp0: Ethernet address 00:06:1b:d4:72:bb
miibus0: <MII bus> on fxp0
inphy0: <i82562ET 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: could not setup irq
inphy0: detached
miibus0: detached
device_probe_and_attach: fxp0 attach returned 22
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH4 UDMA100 controller> port 0x1860-0x186f at device 31.1 on pci0
atapci0: Bus reserved 0x10 bytes for rid 0x20 type 4 at 0x1860
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]
ata1: at 0x170 irq 15 on atapci0
ata1: [MPSAFE]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pci0:31:3: setting power state D3
pci0: <multimedia, audio> at device 31.5 (no driver attached)
pci0: Failed to set ACPI power state D3 on (null): AE_BAD_PARAMETER
pci0:31:5: setting power state D3
pci0: <simple comms> at device 31.6 (no driver attached)
pci0: Failed to set ACPI power state D3 on (null): AE_BAD_PARAMETER
pci0:31:6: setting power state D3
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
cu: Got hangup signal
Disconnected.
Connected.
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
orm0: <Option ROMs> at iomem 0xe0000-0xeffff,0xdc000-0xdffff,0xd1000-0xd1fff,0xd0000-0xd0fff,0xc0000-0xcffff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1498736633 Hz quality 800
Timecounters tick every 10.000 msec


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x0
fault code		= supervisor write, page not present
instruction pointer	= 0x8:0xc44b4047
stack pointer	        = 0x10:0xd7411cec
frame pointer	        = 0x10:0xd7411d10
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 22 (irq11: fwohci0+)
kernel: type 12 trap, code=0
Stopped at      0xc44b4047:     addb    %al,0(%eax)
db> tr
_end(c4362600,d7411d48,c085d977,315,0) at 0xc44b4047
fork_exit(c062abc0,c4362600,d7411d48) at fork_exit+0xb4
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xd7411d7c, ebp = 0 ---
db> reset



More information about the freebsd-mobile mailing list