mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
x86: Provide more configuration granularity
Planned future ports requires more granularity for some options Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
parent
a206cc2343
commit
a76fc70ee1
7 changed files with 63 additions and 52 deletions
|
@ -25,11 +25,11 @@ include $(TOPDIR)/config.mk
|
|||
|
||||
LIB = $(obj)lib$(ARCH).o
|
||||
|
||||
SOBJS-y += bios.o
|
||||
SOBJS-y += bios_pci.o
|
||||
SOBJS-y += realmode_switch.o
|
||||
SOBJS-$(CONFIG_SYS_PC_BIOS) += bios.o
|
||||
SOBJS-$(CONFIG_SYS_PCI_BIOS) += bios_pci.o
|
||||
SOBJS-$(CONFIG_SYS_X86_REALMODE) += realmode_switch.o
|
||||
|
||||
COBJS-y += bios_setup.o
|
||||
COBJS-$(CONFIG_SYS_PC_BIOS) += bios_setup.o
|
||||
COBJS-y += board.o
|
||||
COBJS-y += bootm.o
|
||||
COBJS-y += interrupts.o
|
||||
|
@ -37,11 +37,11 @@ COBJS-$(CONFIG_SYS_PCAT_INTERRUPTS) += pcat_interrupts.o
|
|||
COBJS-$(CONFIG_SYS_GENERIC_TIMER) += pcat_timer.o
|
||||
COBJS-$(CONFIG_PCI) += pci.o
|
||||
COBJS-$(CONFIG_PCI) += pci_type1.o
|
||||
COBJS-y += realmode.o
|
||||
COBJS-y += timer.o
|
||||
COBJS-y += video_bios.o
|
||||
COBJS-y += video.o
|
||||
COBJS-y += zimage.o
|
||||
COBJS-$(CONFIG_SYS_X86_REALMODE) += realmode.o
|
||||
COBJS-$(CONFIG_SYS_X86_ISR_TIMER) += timer.o
|
||||
COBJS-$(CONFIG_VIDEO) += video_bios.o
|
||||
COBJS-$(CONFIG_VIDEO) += video.o
|
||||
COBJS-$(CONFIG_CMD_ZBOOT) += zimage.o
|
||||
|
||||
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
|
||||
|
|
|
@ -91,11 +91,13 @@ static int display_dram_config(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SYS_NO_FLASH
|
||||
static void display_flash_config(ulong size)
|
||||
{
|
||||
puts("Flash: ");
|
||||
print_size(size, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Breath some life into the board...
|
||||
|
@ -254,8 +256,12 @@ void board_init_f(ulong boot_flags)
|
|||
|
||||
void board_init_r(gd_t *id, ulong dest_addr)
|
||||
{
|
||||
#if defined(CONFIG_CMD_NET)
|
||||
char *s;
|
||||
#endif
|
||||
#ifndef CONFIG_SYS_NO_FLASH
|
||||
ulong size;
|
||||
#endif
|
||||
static bd_t bd_data;
|
||||
static gd_t gd_data;
|
||||
init_fnc_t **init_fnc_ptr;
|
||||
|
@ -287,10 +293,13 @@ void board_init_r(gd_t *id, ulong dest_addr)
|
|||
#ifdef CONFIG_SERIAL_MULTI
|
||||
serial_initialize();
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_NO_FLASH
|
||||
/* configure available FLASH banks */
|
||||
size = flash_init();
|
||||
display_flash_config(size);
|
||||
show_boot_progress(0x24);
|
||||
#endif
|
||||
|
||||
show_boot_progress(0x25);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
int do_bootm_linux(int flag, int argc, char * const argv[],
|
||||
bootm_headers_t *images)
|
||||
{
|
||||
void *base_ptr;
|
||||
void *base_ptr = NULL;
|
||||
ulong os_data, os_len;
|
||||
image_header_t *hdr;
|
||||
|
||||
|
@ -73,8 +73,10 @@ int do_bootm_linux(int flag, int argc, char * const argv[],
|
|||
goto error;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CMD_ZBOOT
|
||||
base_ptr = load_zimage((void *)os_data, os_len,
|
||||
images->rd_start, images->rd_end - images->rd_start, 0);
|
||||
#endif
|
||||
|
||||
if (NULL == base_ptr) {
|
||||
printf("## Kernel loading failed ...\n");
|
||||
|
|
|
@ -151,3 +151,38 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
|
|||
|
||||
return res;
|
||||
}
|
||||
|
||||
#ifdef PCI_BIOS_DEBUG
|
||||
|
||||
void print_bios_bios_stat(void)
|
||||
{
|
||||
printf("16 bit functions:\n");
|
||||
printf("pci_bios_present: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_present));
|
||||
printf("pci_bios_find_device: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_find_device));
|
||||
printf("pci_bios_find_class: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_find_class));
|
||||
printf("pci_bios_generate_special_cycle: %d\n",
|
||||
RELOC_16_LONG(0xf000,
|
||||
num_pci_bios_generate_special_cycle));
|
||||
printf("pci_bios_read_cfg_byte: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_byte));
|
||||
printf("pci_bios_read_cfg_word: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_word));
|
||||
printf("pci_bios_read_cfg_dword: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_dword));
|
||||
printf("pci_bios_write_cfg_byte: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_byte));
|
||||
printf("pci_bios_write_cfg_word: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_word));
|
||||
printf("pci_bios_write_cfg_dword: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_dword));
|
||||
printf("pci_bios_get_irq_routing: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_get_irq_routing));
|
||||
printf("pci_bios_set_irq: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_set_irq));
|
||||
printf("pci_bios_unknown_function: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_unknown_function));
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -39,45 +39,6 @@
|
|||
#define PRINTF(fmt, args...)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
|
||||
#ifdef PCI_BIOS_DEBUG
|
||||
void print_bios_bios_stat(void)
|
||||
{
|
||||
printf("16 bit functions:\n");
|
||||
printf("pci_bios_present: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_present));
|
||||
printf("pci_bios_find_device: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_find_device));
|
||||
printf("pci_bios_find_class: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_find_class));
|
||||
printf("pci_bios_generate_special_cycle: %d\n",
|
||||
RELOC_16_LONG(0xf000,
|
||||
num_pci_bios_generate_special_cycle));
|
||||
printf("pci_bios_read_cfg_byte: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_byte));
|
||||
printf("pci_bios_read_cfg_word: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_word));
|
||||
printf("pci_bios_read_cfg_dword: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_read_cfg_dword));
|
||||
printf("pci_bios_write_cfg_byte: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_byte));
|
||||
printf("pci_bios_write_cfg_word: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_word));
|
||||
printf("pci_bios_write_cfg_dword: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_write_cfg_dword));
|
||||
printf("pci_bios_get_irq_routing: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_get_irq_routing));
|
||||
printf("pci_bios_set_irq: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_set_irq));
|
||||
printf("pci_bios_unknown_function: %d\n",
|
||||
RELOC_16_LONG(0xf000, num_pci_bios_unknown_function));
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
|
||||
#define PCI_CLASS_VIDEO 3
|
||||
#define PCI_CLASS_VIDEO_STD 0
|
||||
#define PCI_CLASS_VIDEO_PROG_IF_VGA 0
|
||||
|
@ -233,5 +194,3 @@ int video_bios_init(void)
|
|||
return 1;
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -31,7 +31,8 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
|
||||
static void print_num(const char *, ulong);
|
||||
|
||||
#if !(defined(CONFIG_ARM) || defined(CONFIG_M68K) || defined(CONFIG_SANDBOX)) \
|
||||
#if !(defined(CONFIG_ARM) || defined(CONFIG_M68K) || \
|
||||
defined(CONFIG_SANDBOX) || defined(CONFIG_X86)) \
|
||||
|| defined(CONFIG_CMD_NET)
|
||||
#define HAVE_PRINT_ETH
|
||||
static void print_eth(int idx);
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
#define CONFIG_CMD_SETGETDCR
|
||||
#define CONFIG_CMD_SOURCE
|
||||
#define CONFIG_CMD_XIMG
|
||||
#define CONFIG_CMD_ZBOOT
|
||||
|
||||
#define CONFIG_BOOTDELAY 15
|
||||
#define CONFIG_BOOTARGS "root=/dev/mtdblock0 console=ttyS0,9600"
|
||||
|
@ -153,6 +154,10 @@
|
|||
#undef CONFIG_SYS_GENERIC_TIMER
|
||||
#define CONFIG_SYS_PCAT_INTERRUPTS
|
||||
#define CONFIG_SYS_NUM_IRQS 16
|
||||
#define CONFIG_SYS_PC_BIOS
|
||||
#define CONFIG_SYS_PCI_BIOS
|
||||
#define CONFIG_SYS_X86_REALMODE
|
||||
#define CONFIG_SYS_X86_ISR_TIMER
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Memory organization:
|
||||
|
|
Loading…
Add table
Reference in a new issue