Improve coreboot build output and eliminate some warnings:
- Add static and const where possible. - Turn some #warning entries into TODO comments. - Add missing prototypes. - Remove unused variables. - Fix printf arguments or cast them as needed. - Make sconfig output look better. Drop useless "PARSED THE TREE" output. - Print "(this may take a while)" while building romcc. Add missing "\n". Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Myles Watosn <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4874 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
a8888bd1d2
commit
312673ca72
2
Makefile
2
Makefile
|
@ -311,7 +311,7 @@ $(obj)/ldoptions: $(obj)/config.h
|
||||||
awk '/^#define ([^"])* ([^"])*$$/ {print $$2 " = " $$3 ";";}' $< > $@
|
awk '/^#define ([^"])* ([^"])*$$/ {print $$2 " = " $$3 ";";}' $< > $@
|
||||||
|
|
||||||
$(obj)/romcc: $(top)/util/romcc/romcc.c
|
$(obj)/romcc: $(top)/util/romcc/romcc.c
|
||||||
@printf " HOSTCC romcc"
|
@printf " HOSTCC romcc (this may take a while)\n"
|
||||||
$(HOSTCC) -g -O2 -Wall -o $@ $<
|
$(HOSTCC) -g -O2 -Wall -o $@ $<
|
||||||
|
|
||||||
.PHONY: $(PHONY) prepare prepare2 clean distclean doxygen doxy coreboot
|
.PHONY: $(PHONY) prepare prepare2 clean distclean doxygen doxy coreboot
|
||||||
|
|
|
@ -47,11 +47,11 @@ void move_gdt(void)
|
||||||
printk(BIOS_ERR, "Error: Could not relocate GDT.\n");
|
printk(BIOS_ERR, "Error: Could not relocate GDT.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
printk_debug("Moving GDT to %#lx...", newgdt);
|
printk_debug("Moving GDT to %p...", newgdt);
|
||||||
memcpy((void*)newgdt, &gdt, num_gdt_bytes);
|
memcpy((void*)newgdt, &gdt, num_gdt_bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
gdtarg.base = newgdt;
|
gdtarg.base = (u32)newgdt;
|
||||||
gdtarg.limit = num_gdt_bytes - 1;
|
gdtarg.limit = num_gdt_bytes - 1;
|
||||||
|
|
||||||
__asm__ __volatile__ ("lgdt %0\n\t" : : "m" (gdtarg));
|
__asm__ __volatile__ ("lgdt %0\n\t" : : "m" (gdtarg));
|
||||||
|
|
|
@ -191,7 +191,7 @@ struct lb_memory *write_tables(void)
|
||||||
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
|
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
|
||||||
post_code(0x9d);
|
post_code(0x9d);
|
||||||
|
|
||||||
high_table_pointer = cbmem_add(CBMEM_ID_CBTABLE, MAX_COREBOOT_TABLE_SIZE);
|
high_table_pointer = (unsigned long)cbmem_add(CBMEM_ID_CBTABLE, MAX_COREBOOT_TABLE_SIZE);
|
||||||
|
|
||||||
if (high_table_pointer) {
|
if (high_table_pointer) {
|
||||||
unsigned long new_high_table_pointer;
|
unsigned long new_high_table_pointer;
|
||||||
|
@ -202,7 +202,7 @@ struct lb_memory *write_tables(void)
|
||||||
|
|
||||||
if (new_high_table_pointer > (high_table_pointer +
|
if (new_high_table_pointer > (high_table_pointer +
|
||||||
MAX_COREBOOT_TABLE_SIZE))
|
MAX_COREBOOT_TABLE_SIZE))
|
||||||
printk_err("%s: coreboot table didn't fit (%llx)\n",
|
printk_err("%s: coreboot table didn't fit (%lx)\n",
|
||||||
__func__, new_high_table_pointer -
|
__func__, new_high_table_pointer -
|
||||||
high_table_pointer);
|
high_table_pointer);
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ static int pci_sanity_check(const struct pci_bus_operations *o)
|
||||||
|
|
||||||
struct pci_bus_operations *pci_bus_fallback_ops = NULL;
|
struct pci_bus_operations *pci_bus_fallback_ops = NULL;
|
||||||
|
|
||||||
const struct pci_bus_operations *pci_check_direct(void)
|
static const struct pci_bus_operations *pci_check_direct(void)
|
||||||
{
|
{
|
||||||
unsigned int tmp;
|
unsigned int tmp;
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ const struct pci_bus_operations *pci_check_direct(void)
|
||||||
const struct pci_bus_operations *pci_remember_direct(void)
|
const struct pci_bus_operations *pci_remember_direct(void)
|
||||||
{
|
{
|
||||||
if (!pci_bus_fallback_ops)
|
if (!pci_bus_fallback_ops)
|
||||||
pci_bus_fallback_ops = pci_check_direct();
|
pci_bus_fallback_ops = (struct pci_bus_operations *)pci_check_direct();
|
||||||
return pci_bus_fallback_ops;
|
return pci_bus_fallback_ops;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,8 @@ static int vsprintf(char *buf, const char *fmt, va_list args)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sprintf(char *buf, const char *fmt, ...);
|
||||||
|
|
||||||
int sprintf(char *buf, const char *fmt, ...)
|
int sprintf(char *buf, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
|
|
|
@ -671,8 +671,11 @@ static void avoid_fixed_resources(struct device *dev)
|
||||||
device_t vga_pri = 0;
|
device_t vga_pri = 0;
|
||||||
static void set_vga_bridge_bits(void)
|
static void set_vga_bridge_bits(void)
|
||||||
{
|
{
|
||||||
#warning "FIXME modify set_vga_bridge so it is less pci centric!"
|
/*
|
||||||
#warning "This function knows too much about PCI stuff, it should be just a iterator/visitor."
|
* FIXME: Modify set_vga_bridge so it is less PCI centric!
|
||||||
|
* This function knows too much about PCI stuff, it should be just
|
||||||
|
* an iterator/visitor.
|
||||||
|
*/
|
||||||
|
|
||||||
/* FIXME: Handle the VGA palette snooping. */
|
/* FIXME: Handle the VGA palette snooping. */
|
||||||
struct device *dev, *vga, *vga_onboard, *vga_first, *vga_last;
|
struct device *dev, *vga, *vga_onboard, *vga_first, *vga_last;
|
||||||
|
|
|
@ -809,7 +809,7 @@ static void set_pci_ops(struct device *dev)
|
||||||
for (driver = &pci_drivers[0]; driver != &epci_drivers[0]; driver++) {
|
for (driver = &pci_drivers[0]; driver != &epci_drivers[0]; driver++) {
|
||||||
if ((driver->vendor == dev->vendor) &&
|
if ((driver->vendor == dev->vendor) &&
|
||||||
(driver->device == dev->device)) {
|
(driver->device == dev->device)) {
|
||||||
dev->ops = driver->ops;
|
dev->ops = (struct device_operations *)driver->ops;
|
||||||
printk_spew("%s [%04x/%04x] %sops\n",
|
printk_spew("%s [%04x/%04x] %sops\n",
|
||||||
dev_path(dev),
|
dev_path(dev),
|
||||||
driver->vendor, driver->device,
|
driver->vendor, driver->device,
|
||||||
|
|
|
@ -34,8 +34,8 @@ static void pciexp_tune_dev(device_t dev)
|
||||||
/* error... */
|
/* error... */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
printk_debug("PCIe: tuning %s\n", dev_path(dev));
|
// printk_debug("PCIe: tuning %s\n", dev_path(dev));
|
||||||
#warning "IMPLEMENT PCI EXPRESS TUNING"
|
/* TODO: Implement PCI Express tuning. */
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int pciexp_scan_bus(struct bus *bus,
|
unsigned int pciexp_scan_bus(struct bus *bus,
|
||||||
|
|
|
@ -86,7 +86,7 @@ struct device {
|
||||||
unsigned int links;
|
unsigned int links;
|
||||||
|
|
||||||
struct device_operations *ops;
|
struct device_operations *ops;
|
||||||
struct chip_operations *chip_ops;
|
const struct chip_operations *chip_ops;
|
||||||
void *chip_info;
|
void *chip_info;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ struct pci_bus_operations {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pci_driver {
|
struct pci_driver {
|
||||||
struct device_operations *ops;
|
const struct device_operations *ops;
|
||||||
unsigned short vendor;
|
unsigned short vendor;
|
||||||
unsigned short device;
|
unsigned short device;
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,7 +85,6 @@ static void i440bx_domain_set_resources(device_t dev)
|
||||||
pci_tolm = find_pci_tolm(&dev->link[0]);
|
pci_tolm = find_pci_tolm(&dev->link[0]);
|
||||||
mc_dev = dev->link[0].children;
|
mc_dev = dev->link[0].children;
|
||||||
if (mc_dev) {
|
if (mc_dev) {
|
||||||
uint16_t tolm_r;
|
|
||||||
unsigned long tomk, tolmk;
|
unsigned long tomk, tolmk;
|
||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
|
@ -98,7 +97,7 @@ static void i440bx_domain_set_resources(device_t dev)
|
||||||
/* Convert to KB. */
|
/* Convert to KB. */
|
||||||
tomk *= (8 * 1024);
|
tomk *= (8 * 1024);
|
||||||
|
|
||||||
printk_debug("Setting RAM size to %d MB\n", tomk / 1024);
|
printk_debug("Setting RAM size to %ld MB\n", tomk / 1024);
|
||||||
|
|
||||||
/* Compute the top of low memory. */
|
/* Compute the top of low memory. */
|
||||||
tolmk = pci_tolm / 1024;
|
tolmk = pci_tolm / 1024;
|
||||||
|
|
|
@ -144,7 +144,7 @@ static void ide_init_i82371ab_eb_mb(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Intel 82371FB/SB */
|
/* Intel 82371FB/SB */
|
||||||
static struct device_operations ide_ops_fb_sb = {
|
static const struct device_operations ide_ops_fb_sb = {
|
||||||
.read_resources = pci_dev_read_resources,
|
.read_resources = pci_dev_read_resources,
|
||||||
.set_resources = pci_dev_set_resources,
|
.set_resources = pci_dev_set_resources,
|
||||||
.enable_resources = pci_dev_enable_resources,
|
.enable_resources = pci_dev_enable_resources,
|
||||||
|
@ -155,7 +155,7 @@ static struct device_operations ide_ops_fb_sb = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Intel 82371AB/EB/MB */
|
/* Intel 82371AB/EB/MB */
|
||||||
static struct device_operations ide_ops_ab_eb_mb = {
|
static const struct device_operations ide_ops_ab_eb_mb = {
|
||||||
.read_resources = pci_dev_read_resources,
|
.read_resources = pci_dev_read_resources,
|
||||||
.set_resources = pci_dev_set_resources,
|
.set_resources = pci_dev_set_resources,
|
||||||
.enable_resources = pci_dev_enable_resources,
|
.enable_resources = pci_dev_enable_resources,
|
||||||
|
|
|
@ -69,7 +69,7 @@ static void sb_read_resources(struct device *dev)
|
||||||
res->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
|
res->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct device_operations isa_ops = {
|
static const struct device_operations isa_ops = {
|
||||||
.read_resources = sb_read_resources,
|
.read_resources = sb_read_resources,
|
||||||
.set_resources = pci_dev_set_resources,
|
.set_resources = pci_dev_set_resources,
|
||||||
.enable_resources = pci_dev_enable_resources,
|
.enable_resources = pci_dev_enable_resources,
|
||||||
|
|
|
@ -23843,12 +23843,12 @@ static long get_const_pool_ref(
|
||||||
long ref;
|
long ref;
|
||||||
ref = next_label(state);
|
ref = next_label(state);
|
||||||
fprintf(fp, ".section \"" DATA_SECTION "\"\n");
|
fprintf(fp, ".section \"" DATA_SECTION "\"\n");
|
||||||
fprintf(fp, ".balign %ld\n", align_of_in_bytes(state, ins->type));
|
fprintf(fp, ".balign %ld\n", (long int)align_of_in_bytes(state, ins->type));
|
||||||
fprintf(fp, "L%s%lu:\n", state->compiler->label_prefix, ref);
|
fprintf(fp, "L%s%lu:\n", state->compiler->label_prefix, ref);
|
||||||
print_const(state, ins, fp);
|
print_const(state, ins, fp);
|
||||||
fill_bytes = bits_to_bytes(size - size_of(state, ins->type));
|
fill_bytes = bits_to_bytes(size - size_of(state, ins->type));
|
||||||
if (fill_bytes) {
|
if (fill_bytes) {
|
||||||
fprintf(fp, ".fill %ld, 1, 0\n", fill_bytes);
|
fprintf(fp, ".fill %ld, 1, 0\n", (long int)fill_bytes);
|
||||||
}
|
}
|
||||||
fprintf(fp, ".section \"" TEXT_SECTION "\"\n");
|
fprintf(fp, ".section \"" TEXT_SECTION "\"\n");
|
||||||
return ref;
|
return ref;
|
||||||
|
@ -24657,7 +24657,7 @@ static void print_sdecl(struct compile_state *state,
|
||||||
struct triple *ins, FILE *fp)
|
struct triple *ins, FILE *fp)
|
||||||
{
|
{
|
||||||
fprintf(fp, ".section \"" DATA_SECTION "\"\n");
|
fprintf(fp, ".section \"" DATA_SECTION "\"\n");
|
||||||
fprintf(fp, ".balign %ld\n", align_of_in_bytes(state, ins->type));
|
fprintf(fp, ".balign %ld\n", (long int)align_of_in_bytes(state, ins->type));
|
||||||
fprintf(fp, "L%s%lu:\n",
|
fprintf(fp, "L%s%lu:\n",
|
||||||
state->compiler->label_prefix, (unsigned long)(ins->u.cval));
|
state->compiler->label_prefix, (unsigned long)(ins->u.cval));
|
||||||
print_const(state, MISC(ins, 0), fp);
|
print_const(state, MISC(ins, 0), fp);
|
||||||
|
|
|
@ -886,7 +886,7 @@ def dumptree(part, lvl):
|
||||||
|
|
||||||
def writecode(image):
|
def writecode(image):
|
||||||
filename = os.path.join(img_dir, "static.c")
|
filename = os.path.join(img_dir, "static.c")
|
||||||
print "Creating", filename
|
print " SCONFIG Creating", os.path.basename(filename)
|
||||||
file = safe_open(filename, 'w+')
|
file = safe_open(filename, 'w+')
|
||||||
file.write("#include <device/device.h>\n")
|
file.write("#include <device/device.h>\n")
|
||||||
file.write("#include <device/pci.h>\n")
|
file.write("#include <device/pci.h>\n")
|
||||||
|
@ -920,7 +920,7 @@ def gencode(part, file, pass_num):
|
||||||
|
|
||||||
def writegraph(image):
|
def writegraph(image):
|
||||||
filename = os.path.join(img_dir, "static.dot")
|
filename = os.path.join(img_dir, "static.dot")
|
||||||
print "Creating", filename
|
print " SCONFIG Creating", os.path.basename(filename)
|
||||||
file = safe_open(filename, 'w+')
|
file = safe_open(filename, 'w+')
|
||||||
file.write("digraph devicetree {\n")
|
file.write("digraph devicetree {\n")
|
||||||
file.write(" rankdir=LR\n")
|
file.write(" rankdir=LR\n")
|
||||||
|
@ -1015,7 +1015,6 @@ if __name__=='__main__':
|
||||||
fp = safe_open(config_file, 'r')
|
fp = safe_open(config_file, 'r')
|
||||||
if (not parse('devicetree', fp.read())):
|
if (not parse('devicetree', fp.read())):
|
||||||
fatal("Could not parse file")
|
fatal("Could not parse file")
|
||||||
print "PARSED THE TREE"
|
|
||||||
partstack.pop()
|
partstack.pop()
|
||||||
|
|
||||||
img_dir = argv[3]
|
img_dir = argv[3]
|
||||||
|
|
|
@ -126,8 +126,8 @@ def generate(inputfilename, outputfilename='', dump=0, **flags):
|
||||||
if inputfilename[-2:]=='.g': outputfilename = inputfilename[:-2]+'.py'
|
if inputfilename[-2:]=='.g': outputfilename = inputfilename[:-2]+'.py'
|
||||||
else: raise "Invalid Filename", outputfilename
|
else: raise "Invalid Filename", outputfilename
|
||||||
|
|
||||||
print 'Input Grammar:', inputfilename
|
print ' SCONFIG Input Grammar:', os.path.basename(inputfilename)
|
||||||
print 'Output File:', outputfilename
|
print ' SCONFIG Output File:', os.path.basename(outputfilename)
|
||||||
|
|
||||||
DIVIDER = '\n%%\n' # This pattern separates the pre/post parsers
|
DIVIDER = '\n%%\n' # This pattern separates the pre/post parsers
|
||||||
preparser, postparser = None, None # Code before and after the parser desc
|
preparser, postparser = None, None # Code before and after the parser desc
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
from string import *
|
from string import *
|
||||||
from yappsrt import *
|
from yappsrt import *
|
||||||
import re
|
import re
|
||||||
|
import os.path
|
||||||
|
|
||||||
INDENT = " "*4
|
INDENT = " "*4
|
||||||
|
|
||||||
|
@ -709,8 +710,8 @@ def generate(inputfilename, outputfilename='', dump=0, **flags):
|
||||||
if inputfilename[-2:]=='.g': outputfilename = inputfilename[:-2]+'.py'
|
if inputfilename[-2:]=='.g': outputfilename = inputfilename[:-2]+'.py'
|
||||||
else: raise "Invalid Filename", outputfilename
|
else: raise "Invalid Filename", outputfilename
|
||||||
|
|
||||||
print 'Input Grammar:', inputfilename
|
print ' SCONFIG Input Grammar:', os.path.basename(inputfilename)
|
||||||
print 'Output File:', outputfilename
|
print ' SCONFIG Output File:', os.path.basename(outputfilename)
|
||||||
|
|
||||||
DIVIDER = '\n%%\n' # This pattern separates the pre/post parsers
|
DIVIDER = '\n%%\n' # This pattern separates the pre/post parsers
|
||||||
preparser, postparser = None, None # Code before and after the parser desc
|
preparser, postparser = None, None # Code before and after the parser desc
|
||||||
|
|
|
@ -143,6 +143,14 @@ void run_bios(struct device *dev, unsigned long addr)
|
||||||
printk(BIOS_DEBUG, "... Option ROM returned.\n");
|
printk(BIOS_DEBUG, "... Option ROM returned.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __attribute__((regparm(0))) interrupt_handler(u32 intnumber,
|
||||||
|
u32 gsfs, u32 dses,
|
||||||
|
u32 edi, u32 esi,
|
||||||
|
u32 ebp, u32 esp,
|
||||||
|
u32 ebx, u32 edx,
|
||||||
|
u32 ecx, u32 eax,
|
||||||
|
u32 cs_ip, u16 stackflags);
|
||||||
|
|
||||||
int __attribute__((regparm(0))) interrupt_handler(u32 intnumber,
|
int __attribute__((regparm(0))) interrupt_handler(u32 intnumber,
|
||||||
u32 gsfs, u32 dses,
|
u32 gsfs, u32 dses,
|
||||||
u32 edi, u32 esi,
|
u32 edi, u32 esi,
|
||||||
|
|
Loading…
Reference in New Issue