From owner-p4-projects@FreeBSD.ORG Tue Apr 13 20:50:29 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 04CE6106566C; Tue, 13 Apr 2010 20:50:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD5DD106564A for ; Tue, 13 Apr 2010 20:50:28 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA8638FC14 for ; Tue, 13 Apr 2010 20:50:28 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DKoSwo002116 for ; Tue, 13 Apr 2010 20:50:28 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DKoSBs002114 for perforce@freebsd.org; Tue, 13 Apr 2010 20:50:28 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 20:50:28 GMT Message-Id: <201004132050.o3DKoSBs002114@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176877 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 20:50:29 -0000 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 #include #include -#include #include /* XXX */ #include /* 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 #include -#include #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 #include #include -#include #define TMPSTACKSZ 16384 ==== //depot/projects/fdt/sys/powerpc/booke/machdep.c#10 (text+ko) ==== @@ -129,7 +129,6 @@ #include #include #include -#include #include #include @@ -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_ */