[coreboot] NEC PowerMate2000(Celeron) info

Quentin RAMEAU quentin.rameau at gmail.com
Fri Dec 5 00:50:47 CET 2008


lspci -tvnn
-------------------------------------------------------------------------------------------------------------------------------------------------------
-[0000:00]-+-00.0  Intel Corporation 82810 GMCH (Graphics Memory
Controller Hub) [8086:7120]
           +-01.0  Intel Corporation 82810 (CGC) Chipset Graphics
Controller [8086:7121]
           +-1e.0-[0000:01-09]--+-03.0  Texas Instruments PCI1420 PC
card Cardbus Controller [104c:ac51]
           |                    +-03.1  Texas Instruments PCI1420 PC
card Cardbus Controller [104c:ac51]
           |                    \-04.0  Intel Corporation
82557/8/9/0/1 Ethernet Pro 100 [8086:1229]
           +-1f.0  Intel Corporation 82801AB ISA Bridge (LPC) [8086:2420]
           +-1f.1  Intel Corporation 82801AB IDE Controller [8086:2421]
           +-1f.2  Intel Corporation 82801AB USB Controller [8086:2422]
           +-1f.3  Intel Corporation 82801AB SMBus Controller [8086:2423]
           \-1f.5  Intel Corporation 82801AB AC'97 Audio Controller [8086:2425]

superiotool -dV
-------------------------------------------------------------------------------------------------------------------------------------------------------
superiotool r3784
Probing for ALi Super I/O at 0x3f0...
  Failed. Returned data: id=0x0000, rev=0x00
Probing for ALi Super I/O at 0x370...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for Fintek Super I/O at 0x2e...
  Failed. Returned data: vid=0xffff, id=0xffff
Probing for Fintek Super I/O at 0x4e...
  Failed. Returned data: vid=0xffff, id=0xffff
Probing for ITE Super I/O (init=standard) at 0x2e...
  Failed. Returned data: id=0x5101, rev=0x9
Probing for ITE Super I/O (init=it8761e) at 0x2e...
  Failed. Returned data: id=0x5101, rev=0x9
Probing for ITE Super I/O (init=it8228e) at 0x2e...
  Failed. Returned data: id=0x5101, rev=0x9
Probing for ITE Super I/O (init=0x87,0x87) at 0x2e...
  Failed. Returned data: id=0x5101, rev=0x9
Probing for ITE Super I/O (init=standard) at 0x4e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8761e) at 0x4e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8228e) at 0x4e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=0x87,0x87) at 0x4e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=legacy/it8661f) at 0x370...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=legacy/it8671f) at 0x370...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for NSC Super I/O at 0x2e...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for NSC Super I/O at 0x4e...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for NSC Super I/O at 0x15c...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x2e...
Found SMSC LPC47B27x (id=0x51, rev=0x01) at 0x2e
Register dump:
idx 03 20 21 22 23 24 26 27  28 2a 2b 2c 2d 2e 2f
val 00 51 01 19 19 44 2e 00  00 00 00 00 00 00 00
def RR 51 NA 00 00 04 MM MM  RR NA NA NA NA NA NA
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 01 03 f0 06 02 0e 00 ff  08 08
def 00 03 f0 06 02 0e 00 ff  00 00
LDN 0x03 (Parallel port)
idx 30 60 61 70 74 f0 f1
val 01 03 78 07 04 38 00
def 00 00 00 00 04 3c 00
LDN 0x04 (COM1)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 00 00 00 00 00
LDN 0x05 (COM2)
idx 30 60 61 62 63 70 74 f0  f1 f2
val 00 00 00 00 00 00 04 00  02 03
def NA 00 00 00 00 00 04 00  02 03
LDN 0x07 (Keyboard)
idx 30 70 72 f0
val 01 01 00 04
def 00 00 00 00
LDN 0x09 (Game port)
idx 30 60 61
val 00 00 00
def 00 00 00
LDN 0x0a (Power-management events (PME))
idx 30 60 61 f0 f1
val 01 08 00 00 00
def 00 00 00 NA NA
LDN 0x0b (MIDI port (MPU-401))
idx 30 60 61 70
val 00 03 30 05
def 00 03 30 05
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x2e...
  Failed. Returned data: id=0x00, rev=0x00
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x4e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x4e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x162e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x162e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x164e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x164e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x3f0...
  Failed. Returned data: id=0x00, rev=0x00
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x3f0...
  Failed. Returned data: id=0x00, rev=0x00
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x370...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x370...
  Failed. Returned data: id=0xff, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x4e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x4e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x4e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x4e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x3f0...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x89) at 0x3f0...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x86,0x86) at 0x3f0...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x87,0x87) at 0x3f0...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x88) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff

irq_tables.c
-------------------------------------------------------------------------------------------------------------------------------------------------------
/* This file was generated by getpir.c, do not modify!
 * (but if you do, please run checkpir on it to verify)
 *
 * Contains the IRQ Routing Table dumped directly from your
 * memory, which BIOS sets up.
 *
 * Documentation at: http://www.microsoft.com/whdc/archive/pciirq.mspx
 */

#ifdef GETPIR
#include "pirq_routing.h"
#else
#include <arch/pirq_routing.h>
#endif

const struct irq_routing_table intel_irq_routing_table = {
        PIRQ_SIGNATURE,  /* u32 signature */
        PIRQ_VERSION,    /* u16 version   */
        32+16*5,         /* There can be total 5 devices on the bus */
        0x00,            /* Where the interrupt router lies (bus) */
        (0x1f<<3)|0x0,   /* Where the interrupt router lies (dev) */
        0,               /* IRQs devoted exclusively to PCI usage */
        0x8086,          /* Vendor */
        0x122e,          /* Device */
        0,               /* Miniport */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */
        0x6e,            /* u8 checksum. This has to be set to some
                            value that would give 0 after the sum of all
                            bytes for this structure (including checksum) */
        {
                /* bus,     dev|fn,   {link, bitmap}, {link, bitmap},
{link, bitmap}, {link, bitmap},  slot, rfu */
                {0x00,(0x1e<<3)|0x0, {{0x60, 0xdef8}, {0x61, 0xdef8},
{0x62, 0xdef8}, {0x63, 0xdef8}}, 0x0, 0x0},
                {0x01,(0x03<<3)|0x0, {{0x61, 0xdef8}, {0x62, 0xdef8},
{0x00, 0xdef8}, {0x00, 0xdef8}}, 0x0, 0x0},
                {0x01,(0x04<<3)|0x0, {{0x62, 0xdef8}, {0x00, 0xdef8},
{0x00, 0xdef8}, {0x00, 0xdef8}}, 0x0, 0x0},
                {0x00,(0x1f<<3)|0x0, {{0x60, 0xdef8}, {0x61, 0xdef8},
{0x62, 0xdef8}, {0x63, 0xdef8}}, 0x0, 0x0},
                {0x00,(0x01<<3)|0x0, {{0x60, 0xdef8}, {0x61, 0xdef8},
{0x00, 0xdef8}, {0x00, 0xdef8}}, 0x0, 0x0},
        }
};

unsigned long write_pirq_routing_table(unsigned long addr)
{
        return copy_pirq_routing_table(addr);
}

mptable -grope
-------------------------------------------------------------------------------------------------------------------------------------------------------
/* generated by MPTable, version 2.0.15*/
/* as modified by RGM for coreboot */
#include <console/console.h>
#include <arch/smp/mpspec.h>
#include <device/pci.h>
#include <string.h>
#include <stdint.h>

void *smp_write_config_table(void *v)
{
        static const char sig[4] = "PCMP";
        static const char oem[8] = "LNXI    ";
        static const char productid[12] = "P4DPE       ";
        struct mp_config_table *mc;

        mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
        memset(mc, 0, sizeof(*mc));

        memcpy(mc->mpc_signature, sig, sizeof(sig));
        mc->mpc_length = sizeof(*mc); /* initially just the header */
        mc->mpc_spec = 0x04;
        mc->mpc_checksum = 0; /* not yet computed */
        memcpy(mc->mpc_oem, oem, sizeof(oem));
        memcpy(mc->mpc_productid, productid, sizeof(productid));
        mc->mpc_oemptr = 0;
        mc->mpc_oemsize = 0;
        mc->mpc_entry_count = 0; /* No entries yet... */
        mc->mpc_lapic = LAPIC_ADDR;
        mc->mpe_length = 0;
        mc->mpe_checksum = 0;
        mc->reserved = 0;

        smp_write_processors(mc);


  MP default config type: 115

   future type
   future type
        /* There is no extension information... */

        /* Compute the checksums */
        mc->mpe_checksum =
smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
        mc->mpc_checksum = smp_compute_checksum(mc, mc->mpc_length);
        printk_debug("Wrote the mp table end at: %p - %p\n",
                mc, smp_next_mpe_entry(mc));
        return smp_next_mpe_entry(mc);
}

unsigned long write_smp_table(unsigned long addr)
{
        void *v;
        v = smp_write_floating_table(addr);
        return (unsigned long)smp_write_config_table(v);
}




More information about the coreboot mailing list