Subject: npx(4) MATH_EMULATE and ArinfoTek Teak3011: AMD GEODE SBC LX-800
To: None <port-i386@netbsd.org>
From: Brian A. Seklecki <lavalamp@spiritual-machines.org>
List: port-i386
Date: 10/14/2006 20:35:25
FYI the dmesg(8) output from an excellent little AMD appliance I've been 
testing (below).

There are only two issues:

*) The AMD crypto accelerator isn't attaching (Advanced Micro Devices
    product 0x2082 (entertainment crypto) at pci0 dev 1
    function 2 not configured ...)

*) What's the story with AMD GEODE processors and Numeric Processing
    Extension coprocessor ? They're generally speaking "i586" chips,
    but this one appears to be mapping an npx(4) device at the ISA bus,
    but then fails to attach to it.  Perhaps it's just a dummy device?


    That brings MATH_EMULATE into question -- I presume this is software
    emulation of npx(4) when no npx(4) is present?

    I have to run a kernel with MATH_EMULATE enabled otherwise processes
    like mount_mfs(8) crash, but I dont want to leave it enabled if it's
    not a "fallback" option.

    That brings up interesting questions:

    - If MATH_EMULATE is present in a kernel with npx(4) enabled and probed
      on a booted system, which takes precidence?

    - Should this AMD GEODE be probing it's hardware npx(4) properly?
      Should I contact the hardware vendor?  Can I modify the npx(4) source
      code to continue gracefully even if the error reporting sanity check
      fails? npx.c at npxprobe1() ?

      ---
      npx0 at isa0 port 0xf0-0xff: error reporting broken; not using
      ---

TIA,

~BAS

NetBSD 3.1_RC3 (CFRDMDROOT.MPACPI-$Revision: 1.21.4.5 $) #3: Sat Oct 14 
00:31:15 EDT 2006

root@thunderwing:/home/nbsd/obj.i386/temp/sys/arch/i386/compile/CFRDMDROOT.MPACPI
total memory = 247 MB
avail memory = 223 MB
BIOS32 rev. 0 found at 0xfaf00
mainbus0 (root)
     ACPI-0162: *** Error: AcpiLoadTables: Could not get RSDP, AE_NO_ACPI_TABLES
     ACPI-0216: *** Error: AcpiLoadTables: Could not load tables: 
AE_NO_ACPI_TABLES
ACPI: unable to load tables: AE_NO_ACPI_TABLES
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD K5 or K6 (586-class), 499.94 MHz, id 0x5a2
cpu0: features 88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP>
cpu0: features 88a93d<PGE,CMOV,MPC,MMX>
cpu0: "Geode(TM) Integrated Processor by AMD PCS"
cpu0: I-cache 64 KB 32B/line 16-way, D-cache 64 KB 32B/line 16-way
cpu0: L2 cache 128 KB 32B/line 4-way
cpu0: ITLB 16 4 KB entries fully associative
cpu0: DTLB 16 4 KB entries fully associative
cpu0: 8 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 1 function 0
pchb0: Advanced Micro Devices product 0x2080 (rev. 0x30)
vga0 at pci0 dev 1 function 1: Advanced Micro Devices product 0x2081 (rev. 
0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
Advanced Micro Devices product 0x2082 (entertainment crypto) at pci0 dev 1 
function 2 not configured
pcib0 at pci0 dev 15 function 0
pcib0: Advanced Micro Devices product 0x2090 (rev. 0x02)
pciide0 at pci0 dev 15 function 2
pciide0: Advanced Micro Devices product 0x209a (rev. 0x01)
pciide0: bus-master DMA support present, but unused (no driver support)
pciide0: primary channel wired to compatibility mode
pciide0: primary channel ignored (other hardware responding at addresses)
pciide0: secondary channel wired to compatibility mode
pciide0: secondary channel ignored (not responding; disabled or no drives?)
ohci0 at pci0 dev 15 function 4: Advanced Micro Devices product 0x2094 (rev. 
0x02)
ohci0: interrupting at irq 7
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Advanced Micro OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ehci0 at pci0 dev 15 function 5: Advanced Micro Devices product 0x2095 (rev. 
0x02)
ehci0: interrupting at irq 7
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controller, 4 ports each: ohci0
usb1 at ehci0: USB revision 2.0
uhub1 at usb1
uhub1: Advanced Micro EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: single transaction translator
uhub1: 4 ports with 4 removable, self powered
ppb0 at pci0 dev 18 function 0: unknown vendor 0x12d8 product 0x8140 (rev. 
0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
fxp0 at pci1 dev 12 function 0: i82550 Ethernet, rev 16
fxp0: interrupting at irq 5
fxp0: Ethernet address 00:14:b7:00:08:02
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1 at pci1 dev 13 function 0: i82550 Ethernet, rev 16
fxp1: interrupting at irq 11
fxp1: Ethernet address 00:14:b7:00:08:03
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 4
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp2 at pci1 dev 14 function 0: i82550 Ethernet, rev 16
fxp2: interrupting at irq 10
fxp2: Ethernet address 00:14:b7:00:08:04
inphy2 at fxp2 phy 1: i82555 10/100 media interface, rev. 4
inphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp3 at pci0 dev 19 function 0: i82550 Ethernet, rev 16
fxp3: interrupting at irq 11
fxp3: Ethernet address 00:14:b7:00:08:01
inphy3 at fxp3 phy 1: i82555 10/100 media interface, rev. 4
inphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
atabus0 at wdc0 channel 0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: error reporting broken; not using
isapnp0: no ISA Plug 'n Play devices found
md0: internal 10500 KB image area
IPsec: Initialized Security Association Processing.
wd0 at atabus0 drive 0: <SanDisk SDCFH-2048>
wd0: drive supports 4-sector PIO transfers, LBA addressing
wd0: 1953 MB, 3970 cyl, 16 head, 63 sec, 512 bytes/sect x 4001760 sectors
wd0: drive supports PIO mode 4, DMA mode 2
boot device: wd0
root on md0a dumps on md0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)


l8*
 	-lava (Brian A. Seklecki - Pittsburgh, PA, USA)
 	       http://www.spiritual-machines.org/

"...from back in the heady days when "helpdesk" meant nothing, "diskquota"
meant everything, and lives could be bought and sold for a couple of pages
of laser printout - and frequently were."