diff options
| author | Graeme Russ <graeme.russ@gmail.com> | 2011-11-08 02:33:20 +0000 | 
|---|---|---|
| committer | Graeme Russ <graeme.russ@gmail.com> | 2011-11-29 21:09:52 +1100 | 
| commit | a76fc70ee190416e0c161efebdb955a5fac904d3 (patch) | |
| tree | da8e5f0fcf2cdcfd938db82d5a35008772a8ab03 /arch/x86/lib | |
| parent | a206cc23431474a9890f0301f02f50ad3dc9b062 (diff) | |
| download | olio-uboot-2014.01-a76fc70ee190416e0c161efebdb955a5fac904d3.tar.xz olio-uboot-2014.01-a76fc70ee190416e0c161efebdb955a5fac904d3.zip | |
x86: Provide more configuration granularity
Planned future ports requires more granularity for some options
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
Diffstat (limited to 'arch/x86/lib')
| -rw-r--r-- | arch/x86/lib/Makefile | 18 | ||||
| -rw-r--r-- | arch/x86/lib/board.c | 9 | ||||
| -rw-r--r-- | arch/x86/lib/bootm.c | 4 | ||||
| -rw-r--r-- | arch/x86/lib/pci.c | 35 | ||||
| -rw-r--r-- | arch/x86/lib/video_bios.c | 41 | 
5 files changed, 56 insertions, 51 deletions
| diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 71e94f76f..eb5fa1039 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -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)) diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c index e8227b13e..b4451795c 100644 --- a/arch/x86/lib/board.c +++ b/arch/x86/lib/board.c @@ -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); diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c index 836803cbe..bac7b4f0c 100644 --- a/arch/x86/lib/bootm.c +++ b/arch/x86/lib/bootm.c @@ -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"); diff --git a/arch/x86/lib/pci.c b/arch/x86/lib/pci.c index f3018b792..71878dd7d 100644 --- a/arch/x86/lib/pci.c +++ b/arch/x86/lib/pci.c @@ -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 diff --git a/arch/x86/lib/video_bios.c b/arch/x86/lib/video_bios.c index f89f7d6b2..1e06759d9 100644 --- a/arch/x86/lib/video_bios.c +++ b/arch/x86/lib/video_bios.c @@ -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 |