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

Reply via email to