Date: Wed, 15 Aug 2012 18:18:29 +0000 (UTC) From: Jakub Wojciech Klama <jceel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r239307 - head/sys/arm/lpc Message-ID: <201208151818.q7FIITes092006@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jceel Date: Wed Aug 15 18:18:29 2012 New Revision: 239307 URL: http://svn.freebsd.org/changeset/base/239307 Log: Switch lpc initarm() to use struct arm_boot_params and therefore fix EA3250 kernel build. Approved by: gonzo Modified: head/sys/arm/lpc/lpc_machdep.c Modified: head/sys/arm/lpc/lpc_machdep.c ============================================================================== --- head/sys/arm/lpc/lpc_machdep.c Wed Aug 15 18:00:52 2012 (r239306) +++ head/sys/arm/lpc/lpc_machdep.c Wed Aug 15 18:18:29 2012 (r239307) @@ -296,7 +296,7 @@ physmap_init(void) } void * -initarm(void *mdp, void *unused __unused) +initarm(struct arm_boot_params *abp) { struct pv_addr kernel_l1pt; struct pv_addr dpcpu; @@ -306,41 +306,15 @@ initarm(void *mdp, void *unused __unused u_int l1pagetable; int i = 0, j = 0; - kmdp = NULL; - lastaddr = 0; + lastaddr = parse_boot_param(abp); memsize = 0; - dtbp = (vm_offset_t)NULL; - set_cpufuncs(); - /* - * Mask metadata pointer: it is supposed to be on page boundary. If - * the first argument (mdp) doesn't point to a valid address the - * bootloader must have passed us something else than the metadata - * ptr... In this case we want to fall back to some built-in settings. - */ - mdp = (void *)((uint32_t)mdp & ~PAGE_MASK); - - /* Parse metadata and fetch parameters */ - if (mdp != NULL) { - preload_metadata = mdp; - kmdp = preload_search_by_type("elf kernel"); - if (kmdp != NULL) { - boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); - kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); - dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); - lastaddr = MD_FETCH(kmdp, MODINFOMD_KERNEND, - vm_offset_t); -#ifdef DDB - ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); - ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); -#endif - } - - } else { - /* Fall back to hardcoded metadata. */ - lastaddr = fake_preload_metadata(); - } + kmdp = preload_search_by_type("elf kernel"); + if (kmdp != NULL) + dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); + else + dtbp = (vm_offset_t)NULL; #if defined(FDT_DTB_STATIC) /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208151818.q7FIITes092006>