Hello,
This patch adds support for the Intel Atom D-2700 processor. The patch
is originally from Jonathan Gray (jsg[ at ]jsg.id.au), tested by me.
Patch:
Index: sys/arch/i386/i386/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
retrieving revision 1.506
diff -u -p -r1.506 machdep.c
--- sys/arch/i386/i386/machdep.c 2 Nov 2011 23:53:44 -0000 1.506
+++ sys/arch/i386/i386/machdep.c 4 Feb 2012 13:37:48 -0000
@@ -2075,6 +2075,8 @@ p3_get_bus_clock(struct cpu_info *ci)
}
break;
case 0x1c: /* Atom */
+ case 0x26: /* Atom Z6xx */
+ case 0x36: /* Atom [DN]2xxx */
msr = rdmsr(MSR_FSB_FREQ);
bus = (msr >> 0) & 0x7;
switch (bus) {
@@ -2131,6 +2133,7 @@ p3_get_bus_clock(struct cpu_info *ci)
break;
case 0x2a: /* Core i5/i7 2nd Generation */
case 0x2d: /* Xeon E5 */
+ case 0x2f: /* Xeon E7 */
/* BUS100 */
break;
case 0x1d: /* Xeon MP 7400 */
Index: sys/arch/amd64/amd64/est.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/est.c,v
retrieving revision 1.25
diff -u -p -r1.25 est.c
--- sys/arch/amd64/amd64/est.c 19 Apr 2011 22:14:54 -0000 1.25
+++ sys/arch/amd64/amd64/est.c 4 Feb 2012 13:37:48 -0000
@@ -198,6 +198,8 @@ p3_get_bus_clock(struct cpu_info *ci)
}
break;
case 0x1c: /* Atom */
+ case 0x26: /* Atom Z6xx */
+ case 0x36: /* Atom [DN]2xxx */
msr = rdmsr(MSR_FSB_FREQ);
bus = (msr >> 0) & 0x7;
switch (bus) {
@@ -228,6 +230,7 @@ p3_get_bus_clock(struct cpu_info *ci)
break;
case 0x2a: /* Core i5/i7 2nd Generation */
case 0x2d: /* Xeon E5 */
+ case 0x2f: /* Xeon E7 */
/* BUS100 */
break;
case 0x1d: /* Xeon MP 7400 */
##
## Dmesg after patching
##
OpenBSD 5.1 (severi) #0: Fri Feb 10 01:53:24 EET 2012
[email protected]:/usr/src/sys/arch/i386/compile/severi
cpu0: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel"
686-class) 2.13 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,NXE,SSE3,MWAIT,DS-CPL,TM2,SSSE3,xTPR,PDCM,MOVBE,LAHF
real mem = 2134732800 (2035MB)
avail mem = 2089684992 (1992MB)
User Kernel Config
UKC> disable acpiec
475 acpiec* disabled
UKC> quit
Continuing...
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 10/20/10, SMBIOS rev. 2.7 @
0xe9670 (51 entries)
bios0: vendor American Megatrends Inc. version "4.6.4" date 12/01/2011
acpi0 at bios0: rev 2
acpi0: sleep states S0 S1 S4 S5
acpi0: tables DSDT FACP APIC MCFG HPET SSDT
acpi0: wakeup devices P0P8(S4) PS2K(S1) PS2M(S1) USB0(S4) USB1(S4)
USB2(S4) USB3(S4) USB7(S4) PXSX(S4) RP01(S4) PXSX(S4) RP03(S4)
PXSX(S4) RP04(S4) PXSX(S4) RP02(S4) PWRB(S1)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 133MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel"
686-class) 2.13 GHz
cpu1:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,NXE,SSE3,MWAIT,DS-CPL,TM2,SSSE3,xTPR,PDCM,MOVBE,LAHF
cpu2 at mainbus0: apid 2 (application processor)
cpu2: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel"
686-class) 2.13 GHz
cpu2:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,NXE,SSE3,MWAIT,DS-CPL,TM2,SSSE3,xTPR,PDCM,MOVBE,LAHF
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel"
686-class) 2.13 GHz
cpu3:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,NXE,SSE3,MWAIT,DS-CPL,TM2,SSSE3,xTPR,PDCM,MOVBE,LAHF
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 5 (P0P8)
acpiprt2 at acpi0: bus 1 (RP01)
acpiprt3 at acpi0: bus 3 (RP03)
acpiprt4 at acpi0: bus 4 (RP04)
acpiprt5 at acpi0: bus 2 (RP02)
acpiec at acpi0 not configured
acpicpu0 at acpi0: C1
acpicpu1 at acpi0: C1
acpicpu2 at acpi0: C1
acpicpu3 at acpi0: C1
acpitz0 at acpi0: critical temperature is 75 degC
acpipwrres0 at acpi0: FN00
acpitz1 at acpi0: critical temperature is 127 degC
acpitz2 at acpi0: critical temperature is 100 degC
acpibat0 at acpi0: BAT0 model "CRB Battery 0" serial Battery 0
type Fake oem "-Virtual Battery 0-"
acpibat1 at acpi0: BAT1 not present
acpibtn0 at acpi0: LID0
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
acpivideo0 at acpi0: GFX0
bios0: ROM list: 0xc0000/0xf200!
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product
0x0bf3 rev 0x03
vga1 at pci0 dev 2 function 0 vendor "Intel", unknown product
0x0be2 rev 0x09
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
intagp at vga1 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
azalia0: codecs: Realtek ALC662, Intel/0x2880, using Realtek ALC662
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 4 int 16
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 4 int 17
pci2 at ppb1 bus 2
re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x06:
RTL8168E/8111E-VL (0x2c80), apic 4 int 17, address 00:30:18:a4:f8:e2
rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 5
ppb2 at pci0 dev 28 function 2 "Intel 82801GB PCIE" rev 0x02: apic 4 int 18
pci3 at ppb2 bus 3
re1 at pci3 dev 0 function 0 "Realtek 8168" rev 0x06:
RTL8168E/8111E-VL (0x2c80), apic 4 int 18, address 00:30:18:a4:f8:e3
rgephy1 at re1 phy 7: RTL8169S/8110S PHY, rev. 5
ppb3 at pci0 dev 28 function 3 "Intel 82801GB PCIE" rev 0x02: apic 4 int 19
pci4 at ppb3 bus 4
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 4 int 23
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 4 int 19
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 4 int 18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 4 int 16
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 4 int 23
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb4 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci5 at ppb4 bus 5
pcib0 at pci0 dev 31 function 0 "Intel Tigerpoint LPC" rev 0x02
ahci0 at pci0 dev 31 function 2 "Intel 82801GR AHCI" rev 0x02: msi, AHCI 1.1
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD15EARX-00P, 51.0> SCSI3
0/direct fixed naa.50014ee003098d0d
sd0: 1430799MB, 512 bytes/sector, 2930277168 sectors
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02:
apic 4 int 19
iic0 at ichiic0
spdmem0 at iic0 addr 0x51: 2GB DDR3 SDRAM PC3-10600 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
mtrr: Pentium Pro MTRR support
uhidev0 at uhub3 port 2 configuration 1 interface 0 "NOVATEK USB
Keyboard" rev 1.10/1.12 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub3 port 2 configuration 1 interface 1 "NOVATEK USB
Keyboard" rev 1.10/1.12 addr 2
uhidev1: iclass 3/0, 4 report ids
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=3, output=0, feature=0
uhid2 at uhidev1 reportid 4: input=2, output=0, feature=0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on sd0a (082c572cf96776d9.a) swap on sd0b dump on sd0b