diff --git a/src/drivers/generic/debug/Config.lb b/src/drivers/generic/debug/Config.lb new file mode 100644 index 0000000000..df69ac19f3 --- /dev/null +++ b/src/drivers/generic/debug/Config.lb @@ -0,0 +1,2 @@ +config chip.h +object debug_dev.o diff --git a/src/drivers/generic/debug/chip.h b/src/drivers/generic/debug/chip.h new file mode 100644 index 0000000000..78ce2159a1 --- /dev/null +++ b/src/drivers/generic/debug/chip.h @@ -0,0 +1,4 @@ +extern struct chip_operations drivers_generic_debug_ops; + +struct drivers_generic_debug_config { +}; diff --git a/src/drivers/generic/debug/debug_dev.c b/src/drivers/generic/debug/debug_dev.c new file mode 100644 index 0000000000..712a7e3082 --- /dev/null +++ b/src/drivers/generic/debug/debug_dev.c @@ -0,0 +1,106 @@ +#include +#include +#include +#include +#include +#include "chip.h" + +static void print_pci_regs(struct device *dev) +{ + uint8_t byte; + int i; + + for(i=0;i<256;i++) { + byte = pci_read_config8(dev, i); + + if((i & 0xf)==0) printk_debug("\n%02x:",i); + printk_debug(" %02x",byte); + } + printk_debug("\n"); + +} +static void print_mem(void) +{ + unsigned int i; + unsigned int start = 0xfffff000; + for(i=start;i<0xffffffff;i++) { + if((i & 0xf)==0) printk_debug("\n %08x:",i); + printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); + } + printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); + + } +static void print_pci_regs_all(void) +{ + struct device *dev; + unsigned char i,j,k; + + for(i=0;i<=15;i++) { + for(j=0;j<=0x1f;j++) { + for (k=0;k<=6;k++){ + dev = dev_find_slot(i, PCI_DEVFN(j, k)); + if(!dev) { + continue; + } + if(!dev->enabled) { + continue; + } + printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); + print_pci_regs(dev); + } + } + } + +} + +static void debug_init(device_t dev) +{ + unsigned bus; + unsigned devfn; + +// print_pci_regs_all(); + + print_mem(); +#if 0 + msr_t msr; + unsigned index; + unsigned eax, ebx, ecx, edx; + index = 0x80000007; + printk_debug("calling cpuid 0x%08x\n", index); + asm volatile( + "cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (index) + ); + printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", + index, eax, ebx, ecx, edx); + if (edx & (3 << 1)) { + index = 0xC0010042; + printk_debug("Reading msr: 0x%08x\n", index); + msr = rdmsr(index); + printk_debug("msr[0x%08x]: 0x%08x%08x\n", + index, msr.hi, msr.hi); + } +#endif +} + +static void debug_noop(device_t dummy) +{ +} + +static struct device_operations debug_operations = { + .read_resources = debug_noop, + .set_resources = debug_noop, + .enable_resources = debug_noop, + .init = debug_init, +}; + +static void enable_dev(struct device *dev) +{ + dev->ops = &debug_operations; +} + +struct chip_operations drivers_generic_debug_ops = { + CHIP_NAME("Debug device") + .enable_dev = enable_dev, +}; diff --git a/src/mainboard/tyan/s2735/mainboard.c b/src/mainboard/tyan/s2735/mainboard.c index 479e02d0f8..c2a68f341d 100644 --- a/src/mainboard/tyan/s2735/mainboard.c +++ b/src/mainboard/tyan/s2735/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2735_ops = { CHIP_NAME("Tyan s2735 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2850/mainboard.c b/src/mainboard/tyan/s2850/mainboard.c index c3aadd9bd3..6ddd3e9727 100644 --- a/src/mainboard/tyan/s2850/mainboard.c +++ b/src/mainboard/tyan/s2850/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2850_ops = { CHIP_NAME("Tyan s2850 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2875/mainboard.c b/src/mainboard/tyan/s2875/mainboard.c index 1fb9ac3655..81ce181e15 100644 --- a/src/mainboard/tyan/s2875/mainboard.c +++ b/src/mainboard/tyan/s2875/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2875_ops = { CHIP_NAME("Tyan s2875 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2880/mainboard.c b/src/mainboard/tyan/s2880/mainboard.c index 504c3ad2fb..b00bdfaa4a 100644 --- a/src/mainboard/tyan/s2880/mainboard.c +++ b/src/mainboard/tyan/s2880/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2880_ops = { CHIP_NAME("Tyan s2880 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2881/mainboard.c b/src/mainboard/tyan/s2881/mainboard.c index 666f89632e..fb9b9c8b8a 100644 --- a/src/mainboard/tyan/s2881/mainboard.c +++ b/src/mainboard/tyan/s2881/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2881_ops = { CHIP_NAME("Tyan s2881 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2882/mainboard.c b/src/mainboard/tyan/s2882/mainboard.c index ea8824c745..a910114263 100644 --- a/src/mainboard/tyan/s2882/mainboard.c +++ b/src/mainboard/tyan/s2882/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2882_ops = { CHIP_NAME("Tyan s2882 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s2885/Config.lb b/src/mainboard/tyan/s2885/Config.lb index 1ece311125..1bcb4a2888 100644 --- a/src/mainboard/tyan/s2885/Config.lb +++ b/src/mainboard/tyan/s2885/Config.lb @@ -229,5 +229,9 @@ chip northbridge/amd/amdk8 device apic 1 on end end end + + chip drivers/generic/debug + device pnp 0.0 on end + end end diff --git a/src/mainboard/tyan/s2885/mainboard.c b/src/mainboard/tyan/s2885/mainboard.c index 3da6934b53..3c7583dca9 100644 --- a/src/mainboard/tyan/s2885/mainboard.c +++ b/src/mainboard/tyan/s2885/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s2885_ops = { CHIP_NAME("Tyan s2885 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s4880/mainboard.c b/src/mainboard/tyan/s4880/mainboard.c index 9693a3a46e..fac83b534f 100644 --- a/src/mainboard/tyan/s4880/mainboard.c +++ b/src/mainboard/tyan/s4880/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s4880_ops = { CHIP_NAME("Tyan s4880 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif }; diff --git a/src/mainboard/tyan/s4882/mainboard.c b/src/mainboard/tyan/s4882/mainboard.c index 0088901328..0277dd634f 100644 --- a/src/mainboard/tyan/s4882/mainboard.c +++ b/src/mainboard/tyan/s4882/mainboard.c @@ -5,137 +5,6 @@ #include #include "chip.h" -#undef DEBUG -#define DEBUG 0 -#if DEBUG - -static void print_pci_regs(struct device *dev) -{ - uint8_t byte; - int i; - - for(i=0;i<256;i++) { - byte = pci_read_config8(dev, i); - - if((i & 0xf)==0) printk_debug("\n%02x:",i); - printk_debug(" %02x",byte); - } - printk_debug("\n"); - -} -static void print_mem(void) -{ - unsigned int i; - unsigned int start = 0xfffff000; - for(i=start;i<0xffffffff;i++) { - if((i & 0xf)==0) printk_debug("\n %08x:",i); - printk_debug(" %02x ",(unsigned char)*((unsigned char *)i)); - } - printk_debug(" %02x \n",(unsigned char)*((unsigned char *)i)); - - } -static void print_pci_regs_all(void) -{ - struct device *dev; - unsigned char i,j,k; - - for(i=0;i<=15;i++) { - for(j=0;j<=0x1f;j++) { - for (k=0;k<=6;k++){ - dev = dev_find_slot(i, PCI_DEVFN(j, k)); - if(!dev) { - continue; - } - if(!dev->enabled) { - continue; - } - printk_debug("\n%02x:%02x:%02x aka %s",i,j,k, dev_path(dev)); - print_pci_regs(dev); - } - } - } - -} - -static void debug_init(device_t dev) -{ - unsigned bus; - unsigned devfn; - -// print_pci_regs_all(); - - print_mem(); -#if 0 - msr_t msr; - unsigned index; - unsigned eax, ebx, ecx, edx; - index = 0x80000007; - printk_debug("calling cpuid 0x%08x\n", index); - asm volatile( - "cpuid" - : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) - : "a" (index) - ); - printk_debug("cpuid[%08x]: %08x %08x %08x %08x\n", - index, eax, ebx, ecx, edx); - if (edx & (3 << 1)) { - index = 0xC0010042; - printk_debug("Reading msr: 0x%08x\n", index); - msr = rdmsr(index); - printk_debug("msr[0x%08x]: 0x%08x%08x\n", - index, msr.hi, msr.hi); - } -#endif -} - -static void debug_noop(device_t dummy) -{ -} - -static struct device_operations debug_operations = { - .read_resources = debug_noop, - .set_resources = debug_noop, - .enable_resources = debug_noop, - .init = debug_init, -}; - -static unsigned int scan_root_bus(device_t root, unsigned int max) -{ - struct device_path path; - device_t debug; - max = root_dev_scan_bus(root, max); - path.type = DEVICE_PATH_PNP; - path.u.pnp.port = 0; - path.u.pnp.device = 0; - debug = alloc_dev(&root->link[1], &path); - debug->ops = &debug_operations; - return max; -} - - -static void mainboard_init(device_t dev) -{ - root_dev_init(dev); - // Do sth -} - -static struct device_operations mainboard_operations = { - .read_resources = root_dev_read_resources, - .set_resources = root_dev_set_resources, - .enable_resources = root_dev_enable_resources, - .init = mainboard_init, - .scan_bus = scan_root_bus, -}; - -static void enable_dev(struct device *dev) -{ - dev_root.ops = &mainboard_operations; -} -#endif - struct chip_operations mainboard_tyan_s4882_ops = { CHIP_NAME("Tyan s4882 mainboard") -#if DEBUG - .enable_dev = enable_dev, -#endif };