Date: Tue, 13 Apr 2010 20:50:28 GMT From: Rafal Jaworowski <raj@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 176877 for review Message-ID: <201004132050.o3DKoSBs002114@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@176877?ac=10 Change 176877 by raj@raj_fdt on 2010/04/13 20:49:33 Eliminate bootinfo. This alters loader-kernel ABI. Bootinfo is not needed since we're fully DT-driven. Affected files ... .. //depot/projects/fdt/sys/arm/include/bootinfo.h#3 delete .. //depot/projects/fdt/sys/arm/include/metadata.h#4 edit .. //depot/projects/fdt/sys/arm/mv/mv_machdep.c#13 edit .. //depot/projects/fdt/sys/boot/uboot/common/metadata.c#7 edit .. //depot/projects/fdt/sys/powerpc/booke/locore.S#2 edit .. //depot/projects/fdt/sys/powerpc/booke/machdep.c#10 edit .. //depot/projects/fdt/sys/powerpc/include/bootinfo.h#4 delete .. //depot/projects/fdt/sys/powerpc/include/metadata.h#4 edit Differences ... ==== //depot/projects/fdt/sys/arm/include/metadata.h#4 (text+ko) ==== @@ -29,7 +29,6 @@ #ifndef _MACHINE_METADATA_H_ #define _MACHINE_METADATA_H_ -#define MODINFOMD_BOOTINFO 0x1001 -#define MODINFOMD_DTBP 0x1002 +#define MODINFOMD_DTBP 0x1001 #endif /* !_MACHINE_METADATA_H_ */ ==== //depot/projects/fdt/sys/arm/mv/mv_machdep.c#13 (text+ko) ==== @@ -87,7 +87,6 @@ #include <machine/armreg.h> #include <machine/bus.h> #include <sys/reboot.h> -#include <machine/bootinfo.h> #include <arm/mv/mvreg.h> /* XXX */ #include <arm/mv/mvvar.h> /* XXX eventually this should be eliminated */ @@ -148,11 +147,8 @@ static struct mem_region availmem_regions[FDT_MEM_REGIONS]; static int availmem_regions_sz; -struct bootinfo *bootinfo; - static void print_kenv(void); static void print_kernel_section_addr(void); -static void print_bootinfo(void); static void physmap_init(int); static int platform_devmap_init(void); @@ -191,22 +187,6 @@ } static void -print_bootinfo(void) -{ - - debugf("bootinfo:\n"); - if (bootinfo == NULL) { - debugf(" no bootinfo, null ptr\n"); - return; - } - - debugf(" version = 0x%08x\n", bootinfo->bi_version); - debugf(" ccsrbar = 0x%08x\n", bootinfo->bi_bar_base); - debugf(" cpu_clk = 0x%08x\n", bootinfo->bi_cpu_clk); - debugf(" bus_clk = 0x%08x\n", bootinfo->bi_bus_clk); -} - -static void print_kernel_section_addr(void) { @@ -359,9 +339,6 @@ preload_metadata = mdp; kmdp = preload_search_by_type("elf kernel"); if (kmdp != NULL) { - bootinfo = (struct bootinfo *)preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_BOOTINFO); - boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); @@ -557,7 +534,6 @@ debugf(" arg1 mdp = 0x%08x\n", (uint32_t)mdp); debugf(" boothowto = 0x%08x\n", boothowto); printf(" dtbp = 0x%08x\n", (uint32_t)dtbp); - print_bootinfo(); print_kernel_section_addr(); print_kenv(); ==== //depot/projects/fdt/sys/boot/uboot/common/metadata.c#7 (text+ko) ==== @@ -36,7 +36,6 @@ #include <machine/elf.h> #include <machine/metadata.h> -#include <machine/bootinfo.h> #include "api_public.h" #include "bootstrap.h" @@ -258,35 +257,6 @@ } /* - * Prepare the bootinfo structure. Put a ptr to the allocated struct in addr, - * return size. - */ -static int -md_bootinfo(struct bootinfo **addr) -{ - struct bootinfo *bi; - struct sys_info *si; - int size; - - if ((si = ub_get_sys_info()) == NULL) - panic("can't retrieve U-Boot sysinfo"); - - size = sizeof(struct bootinfo); - - if ((bi = malloc(size)) == NULL) - panic("can't allocate mem for bootinfo"); - - bi->bi_version = BI_VERSION; - bi->bi_bar_base = si->bar; - bi->bi_cpu_clk = si->clk_cpu; - bi->bi_bus_clk = si->clk_bus; - - *addr = bi; - - return (size); -} - -/* * Load the information expected by a powerpc kernel. * * - The 'boothowto' argument is constructed @@ -300,7 +270,6 @@ struct preloaded_file *kfp, *bfp; struct preloaded_file *xp; struct file_metadata *md; - struct bootinfo *bip; vm_offset_t kernend; vm_offset_t addr; vm_offset_t envp; @@ -309,7 +278,6 @@ vm_offset_t dtbp; char *rootdevname; int howto; - int bisize; int i; /* @@ -350,9 +318,6 @@ /* Pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); - /* Prepare bootinfo */ - bisize = md_bootinfo(&bip); - kernend = 0; kfp = file_findfile(NULL, "elf32 kernel"); if (kfp == NULL) @@ -360,7 +325,6 @@ if (kfp == NULL) panic("can't find kernel file"); file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof howto, &howto); - file_addmetadata(kfp, MODINFOMD_BOOTINFO, bisize, bip); file_addmetadata(kfp, MODINFOMD_ENVP, sizeof envp, &envp); #if defined(LOADER_FDT_SUPPORT) ==== //depot/projects/fdt/sys/powerpc/booke/locore.S#2 (text+ko) ==== @@ -39,7 +39,6 @@ #include <machine/trap.h> #include <machine/vmparam.h> #include <machine/tlb.h> -#include <machine/bootinfo.h> #define TMPSTACKSZ 16384 ==== //depot/projects/fdt/sys/powerpc/booke/machdep.c#10 (text+ko) ==== @@ -129,7 +129,6 @@ #include <machine/mmuvar.h> #include <machine/sigframe.h> #include <machine/metadata.h> -#include <machine/bootinfo.h> #include <machine/platform.h> #include <sys/linker.h> @@ -170,8 +169,6 @@ long realmem = 0; long Maxmem = 0; -struct bootinfo *bootinfo; - char machine[] = "powerpc"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); @@ -186,7 +183,6 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_e500_startup, NULL); void print_kernel_section_addr(void); -void print_bootinfo(void); void print_kenv(void); u_int e500_init(u_int32_t, u_int32_t, void *); @@ -260,22 +256,6 @@ } void -print_bootinfo(void) -{ - - debugf("bootinfo:\n"); - if (bootinfo == NULL) { - debugf(" no bootinfo, null ptr\n"); - return; - } - - debugf(" version = 0x%08x\n", bootinfo->bi_version); - debugf(" ccsrbar = 0x%08x\n", bootinfo->bi_bar_base); - debugf(" cpu_clk = 0x%08x\n", bootinfo->bi_cpu_clk); - debugf(" bus_clk = 0x%08x\n", bootinfo->bi_bus_clk); -} - -void print_kernel_section_addr(void) { @@ -303,16 +283,12 @@ dtbp = (vm_offset_t)NULL; /* - * Parse metadata and fetch parameters. This must be done as the first - * step as we need bootinfo data to at least init the console + * Parse metadata and fetch parameters. */ if (mdp != NULL) { preload_metadata = mdp; kmdp = preload_search_by_type("elf kernel"); if (kmdp != NULL) { - bootinfo = (struct bootinfo *)preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_BOOTINFO); - boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); @@ -324,8 +300,7 @@ } } else { /* - * We should scream but how? - without CCSR bar (in bootinfo) - * cannot even output anything... + * We should scream but how? Cannot even output anything... */ /* @@ -349,7 +324,7 @@ OF_interpret("perform-fixup", 0); /* Initialize TLB1 handling */ - tlb1_init(bootinfo->bi_bar_base); + tlb1_init(fdt_immr_pa); /* Reset Time Base */ mttb(0); @@ -392,7 +367,6 @@ debugf(" dtbp = 0x%08x\n", (uint32_t)dtbp); - print_bootinfo(); print_kernel_section_addr(); print_kenv(); //tlb1_print_entries(); ==== //depot/projects/fdt/sys/powerpc/include/metadata.h#4 (text+ko) ==== @@ -32,7 +32,6 @@ #define MODINFOMD_ENVP 0x1001 #define MODINFOMD_HOWTO 0x1002 #define MODINFOMD_KERNEND 0x1003 -#define MODINFOMD_BOOTINFO 0x1004 -#define MODINFOMD_DTBP 0x1005 +#define MODINFOMD_DTBP 0x1004 #endif /* !_MACHINE_METADATA_H_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004132050.o3DKoSBs002114>