Subject: Geode LX patch
To: None <port-i386@NetBSD.org>
From: Tetsuya Isaki <isaki@par.odn.ne.jp>
List: port-i386
Date: 01/20/2007 12:37:03
Please review the following 2 small patches for AMD Geode LX.
(These are tested on NetBSD 3.0.2)


o identcpu

AMD Geode LX processor is still identified as "K5 or K6" now.
This patch makes it identified as "Geode LX".

--- sys/arch/i386/i386/identcpu.c	26 Dec 2005 10:35:53 -0000	1.1.1.2
+++ sys/arch/i386/i386/identcpu.c	18 Dec 2006 05:35:03 -0000
@@ -288,7 +288,7 @@
 			CPUCLASS_586,
 			{
 				"K5", "K5", "K5", "K5", 0, 0, "K6",
-				"K6", "K6-2", "K6-III", 0, 0, 0,
+				"K6", "K6-2", "K6-III", "Geode LX", 0, 0,
 				"K6-2+/III+", 0, 0,
 				"K5 or K6"		/* Default */
 			},

Here is a dmesg before applying this patch.

cpu0: AMD K5 or K6 (586-class), 499.93 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

Here is a dmesg after applying this patch.
 
cpu0: AMD Geode LX (586-class), 499.93 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"
 :


o CS5536 IDE Controller

According to OpenBSD, CS5536 IDE Controller is supported
by viaide(4) on NetBSD.  Here is a patch.  But, I'm not
sure these product name in pcidevs (it is only needed
CS5536_IDE for viaide.c).

--- sys/dev/pci/pcidevs	10 Jan 2007 07:38:43 -0000	1.2
+++ sys/dev/pci/pcidevs	17 Jan 2007 11:20:18 -0000
@@ -846,6 +846,13 @@
 product AMD AMD64_DRAM	0x1102	AMD64 DRAM configuration
 product AMD AMD64_MISC	0x1103	AMD64 Miscellaneous configuration
 product AMD PCNET_PCI	0x2000	PCnet-PCI Ethernet
+product AMD GEODELX_PCHB	0x2080	GeodeLX PCI-Host Bridge
+product AMD GEODELX_VGA 	0x2081	GeodeLX VGA Controller
+product AMD GEODELX_AES 	0x2082	GeodeLX AES Security Block
+product AMD CS5536_PCIB	0x2090	CS5536 PCI-ISA Bridge
+product AMD CS5536_OHCI	0x2094	CS5536 OHCI USB Controller
+product AMD CS5536_EHCI	0x2095	CS5536 EHCI USB Controller
+product AMD CS5536_IDE	0x209a	CS5536 IDE Controller
 product AMD PCNET_HOME	0x2001	PCnet-Home HomePNA Ethernet
 product AMD PCSCSI_PCI	0x2020	PCscsi-PCI SCSI
 product AMD SC520_SC	0x3000	Elan SC520 System Controller
--- sys/dev/pci/viaide.c	10 Jun 2005 13:22:33 -0000	1.1
+++ sys/dev/pci/viaide.c	17 Jan 2007 11:20:18 -0000
@@ -74,6 +74,11 @@
 	  "Advanced Micro Devices AMD8111 IDE Controller",
 	  via_chip_map
 	},
+	{ PCI_PRODUCT_AMD_CS5536_IDE,
+	  0,
+	  "Advanced Micro Devices CS5536 IDE Controller",
+	  via_chip_map
+	},
 	{ 0,
 	  0,
 	  NULL,

Here is a dmesg after this patch.  But I couldn't test enough,
by my environmental problem.

viaide0 at pci0 dev 15 function 2
viaide0: Advanced Micro Devices CS5536 IDE Controller (rev. 0x01)
viaide0: bus-master DMA support present
viaide0: primary channel wired to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0

---
Tetsuya Isaki <isaki@par.odn.ne.jp / isaki@NetBSD.org>