Index: head/sys/arm/allwinner/a20/std.a20 =================================================================== --- head/sys/arm/allwinner/a20/std.a20 (revision 261226) +++ head/sys/arm/allwinner/a20/std.a20 (revision 261227) @@ -1,26 +1,24 @@ # Allwinner A20 common options #$FreeBSD$ cpu CPU_CORTEXA machine arm armv6 makeoption ARM_LITTLE_ENDIAN # Physical memory starts at 0x40200000. We assume images are loaded at # 0x40200000, e.g. from u-boot with 'fatload mmc 0 0x40200000 kernel' # # options PHYSADDR=0x40000000 makeoptions KERNPHYSADDR=0x40200000 options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x48000000 - options ARM_L2_PIPT options IPI_IRQ_START=0 options IPI_IRQ_END=15 files "../allwinner/a20/files.a20" Index: head/sys/arm/allwinner/std.a10 =================================================================== --- head/sys/arm/allwinner/std.a10 (revision 261226) +++ head/sys/arm/allwinner/std.a10 (revision 261227) @@ -1,21 +1,19 @@ # Allwinner A10 common options #$FreeBSD$ cpu CPU_CORTEXA machine arm armv6 makeoption ARM_LITTLE_ENDIAN # Physical memory starts at 0x40200000. We assume images are loaded at # 0x40200000, e.g. from u-boot with 'fatload mmc 0 0x40200000 kernel' # # options PHYSADDR=0x40000000 makeoptions KERNPHYSADDR=0x40200000 options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x48000000 - files "../allwinner/files.a10" Index: head/sys/arm/arm/locore.S =================================================================== --- head/sys/arm/arm/locore.S (revision 261226) +++ head/sys/arm/arm/locore.S (revision 261227) @@ -1,544 +1,556 @@ /* $NetBSD: locore.S,v 1.14 2003/04/20 16:21:40 thorpej Exp $ */ /*- * Copyright 2011 Semihalf * Copyright (C) 1994-1997 Mark Brinicombe * Copyright (C) 1994 Brini * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Brini. * 4. The name of Brini may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL BRINI BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ #include "assym.s" #include #include #include #include __FBSDID("$FreeBSD$"); /* What size should this really be ? It is only used by initarm() */ #define INIT_ARM_STACK_SIZE (2048 * 4) #define CPWAIT_BRANCH \ sub pc, pc, #4 #define CPWAIT(tmp) \ mrc p15, 0, tmp, c2, c0, 0 /* arbitrary read of CP15 */ ;\ mov tmp, tmp /* wait for it to complete */ ;\ CPWAIT_BRANCH /* branch to next insn */ /* * This is for kvm_mkdb, and should be the address of the beginning * of the kernel text segment (not necessarily the same as kernbase). */ .text .align 0 .globl kernbase .set kernbase,KERNBASE .globl physaddr .set physaddr,PHYSADDR /* * On entry for FreeBSD boot ABI: * r0 - metadata pointer or 0 (boothowto on AT91's boot2) * r1 - if (r0 == 0) then metadata pointer * On entry for Linux boot ABI: * r0 - 0 * r1 - machine type (passed as arg2 to initarm) * r2 - Pointer to a tagged list or dtb image (phys addr) (passed as arg1 initarm) * * For both types of boot we gather up the args, put them in a struct arm_boot_params * structure and pass that to initarm. */ ENTRY_NP(btext) ASENTRY_NP(_start) STOP_UNWINDING /* Can't unwind into the bootloader! */ mov r9, r0 /* 0 or boot mode from boot2 */ mov r8, r1 /* Save Machine type */ mov ip, r2 /* Save meta data */ mov fp, r3 /* Future expantion */ /* Make sure interrupts are disabled. */ mrs r7, cpsr orr r7, r7, #(I32_bit|F32_bit) msr cpsr_c, r7 #if defined (FLASHADDR) && defined(LOADERRAMADDR) /* Check if we're running from flash. */ ldr r7, =FLASHADDR /* * If we're running with MMU disabled, test against the * physical address instead. */ mrc p15, 0, r2, c1, c0, 0 ands r2, r2, #CPU_CONTROL_MMU_ENABLE ldreq r6, =PHYSADDR ldrne r6, =LOADERRAMADDR cmp r7, r6 bls flash_lower cmp r7, pc bhi from_ram b do_copy flash_lower: cmp r6, pc bls from_ram do_copy: ldr r7, =KERNBASE adr r1, _start ldr r0, Lreal_start ldr r2, Lend sub r2, r2, r0 sub r0, r0, r7 add r0, r0, r6 mov r4, r0 bl memcpy ldr r0, Lram_offset add pc, r4, r0 Lram_offset: .word from_ram-_C_LABEL(_start) from_ram: nop #endif adr r7, Lunmapped bic r7, r7, #0xf0000000 orr r7, r7, #PHYSADDR disable_mmu: /* Disable MMU for a while */ mrc p15, 0, r2, c1, c0, 0 bic r2, r2, #(CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE |\ CPU_CONTROL_WBUF_ENABLE) bic r2, r2, #(CPU_CONTROL_IC_ENABLE) bic r2, r2, #(CPU_CONTROL_BPRD_ENABLE) mcr p15, 0, r2, c1, c0, 0 nop nop nop mov pc, r7 Lunmapped: -#ifdef STARTUP_PAGETABLE_ADDR - /* build page table from scratch */ - ldr r0, Lstartup_pagetable + /* + * Build page table from scratch. + */ + + /* Load the page tables physical address */ + ldr r1, Lstartup_pagetable + ldr r2, =(KERNVIRTADDR - KERNPHYSADDR) + sub r0, r1, r2 + adr r4, mmu_init_table b 3f 2: str r3, [r0, r2] add r2, r2, #4 add r3, r3, #(L1_S_SIZE) adds r1, r1, #-1 bhi 2b 3: ldmia r4!, {r1,r2,r3} /* # of sections, VA, PA|attr */ cmp r1, #0 adrne r5, 2b bicne r5, r5, #0xf0000000 orrne r5, r5, #PHYSADDR movne pc, r5 #if defined(SMP) orr r0, r0, #2 /* Set TTB shared memory flag */ #endif mcr p15, 0, r0, c2, c0, 0 /* Set TTB */ mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */ #if defined(CPU_ARM1136) || defined(CPU_ARM1176) || defined(CPU_CORTEXA) || defined(CPU_MV_PJ4B) || defined(CPU_KRAIT) mov r0, #0 mcr p15, 0, r0, c13, c0, 1 /* Set ASID to 0 */ #endif /* Set the Domain Access register. Very important! */ mov r0, #((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT) mcr p15, 0, r0, c3, c0, 0 /* * Enable MMU. * On armv6 enable extended page tables, and set alignment checking * to modulo-4 (CPU_CONTROL_UNAL_ENABLE) for the ldrd/strd * instructions emitted by clang. */ mrc p15, 0, r0, c1, c0, 0 #ifdef _ARM_ARCH_6 orr r0, r0, #(CPU_CONTROL_V6_EXTPAGE | CPU_CONTROL_UNAL_ENABLE) orr r0, r0, #(CPU_CONTROL_AFLT_ENABLE) orr r0, r0, #(CPU_CONTROL_AF_ENABLE) #endif orr r0, r0, #(CPU_CONTROL_MMU_ENABLE) mcr p15, 0, r0, c1, c0, 0 nop nop nop CPWAIT(r0) -#endif mmu_done: nop adr r1, .Lstart ldmia r1, {r1, r2, sp} /* Set initial stack and */ sub r2, r2, r1 /* get zero init data */ mov r3, #0 .L1: str r3, [r1], #0x0004 /* get zero init data */ subs r2, r2, #4 bgt .L1 ldr pc, .Lvirt_done virt_done: mov r1, #20 /* loader info size is 20 bytes also second arg */ subs sp, sp, r1 /* allocate arm_boot_params struct on stack */ bic sp, sp, #7 /* align stack to 8 bytes */ mov r0, sp /* loader info pointer is first arg */ str r1, [r0] /* Store length of loader info */ str r9, [r0, #4] /* Store r0 from boot loader */ str r8, [r0, #8] /* Store r1 from boot loader */ str ip, [r0, #12] /* store r2 from boot loader */ str fp, [r0, #16] /* store r3 from boot loader */ mov fp, #0 /* trace back starts here */ bl _C_LABEL(initarm) /* Off we go */ /* init arm will return the new stack pointer. */ mov sp, r0 bl _C_LABEL(mi_startup) /* call mi_startup()! */ adr r0, .Lmainreturned b _C_LABEL(panic) /* NOTREACHED */ -#ifdef STARTUP_PAGETABLE_ADDR #define MMU_INIT(va,pa,n_sec,attr) \ .word n_sec ; \ .word 4*((va)>>L1_S_SHIFT) ; \ .word (pa)|(attr) ; Lvirtaddr: .word KERNVIRTADDR Lphysaddr: .word KERNPHYSADDR Lreal_start: .word _start Lend: .word _edata Lstartup_pagetable: - .word STARTUP_PAGETABLE_ADDR + .word pagetable #ifdef SMP Lstartup_pagetable_secondary: .word temp_pagetable #endif END(btext) END(_start) mmu_init_table: /* fill all table VA==PA */ /* map SDRAM VA==PA, WT cacheable */ #if !defined(SMP) MMU_INIT(PHYSADDR, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) #if defined(SOCDEV_PA) && defined(SOCKDEV_VA) /* Map in 0x04000000 worth of the SoC's devices for bootstrap debugging */ MMU_INIT(SOCKDEV_VA, SOCDEV_PA, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) #endif #else MMU_INIT(PHYSADDR, PHYSADDR , 64, L1_TYPE_S|L1_SHARED|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_SHARED|L1_S_C|L1_S_AP(AP_KRW)) MMU_INIT(0x48000000, 0x48000000, 1, L1_TYPE_S|L1_SHARED|L1_S_C|L1_S_AP(AP_KRW)) #endif /* SMP */ .word 0 /* end of table */ -#endif .Lstart: .word _edata - .word _end + .word _ebss .word svcstk + INIT_ARM_STACK_SIZE .Lvirt_done: .word virt_done #if defined(SMP) .Lmpvirt_done: .word mpvirt_done #endif .Lmainreturned: .asciz "main() returned" .align 0 .bss svcstk: .space INIT_ARM_STACK_SIZE + +/* + * Memory for the initial pagetable. We are unable to place this in + * the bss as this will be cleared after the table is loaded. + */ + .section ".init_pagetable" + .align 14 /* 16KiB aligned */ +pagetable: + .space L1_TABLE_SIZE .text .align 0 .Lcpufuncs: .word _C_LABEL(cpufuncs) #if defined(SMP) Lsramaddr: .word 0xffff0080 #if 0 #define AP_DEBUG(tmp) \ mrc p15, 0, r1, c0, c0, 5; \ ldr r0, Lsramaddr; \ add r0, r1, lsl #2; \ mov r1, tmp; \ str r1, [r0], #0x0000; #else #define AP_DEBUG(tmp) #endif ASENTRY_NP(mptramp) mov r0, #0 mcr p15, 0, r0, c7, c7, 0 AP_DEBUG(#1) mrs r3, cpsr_all bic r3, r3, #(PSR_MODE) orr r3, r3, #(PSR_SVC32_MODE) msr cpsr_all, r3 mrc p15, 0, r0, c0, c0, 5 and r0, #0x0f /* Get CPU ID */ /* Read boot address for CPU */ mov r1, #0x100 mul r2, r0, r1 ldr r1, Lpmureg add r0, r2, r1 ldr r1, [r0], #0x00 mov pc, r1 Lpmureg: .word 0xd0022124 END(mptramp) ASENTRY_NP(mpentry) AP_DEBUG(#2) /* Make sure interrupts are disabled. */ mrs r7, cpsr orr r7, r7, #(I32_bit|F32_bit) msr cpsr_c, r7 adr r7, Ltag bic r7, r7, #0xf0000000 orr r7, r7, #PHYSADDR /* Disable MMU for a while */ mrc p15, 0, r2, c1, c0, 0 bic r2, r2, #(CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE |\ CPU_CONTROL_WBUF_ENABLE) bic r2, r2, #(CPU_CONTROL_IC_ENABLE) bic r2, r2, #(CPU_CONTROL_BPRD_ENABLE) mcr p15, 0, r2, c1, c0, 0 nop nop nop AP_DEBUG(#3) Ltag: ldr r0, Lstartup_pagetable_secondary bic r0, r0, #0xf0000000 orr r0, r0, #PHYSADDR ldr r0, [r0] #if defined(SMP) orr r0, r0, #0 /* Set TTB shared memory flag */ #endif mcr p15, 0, r0, c2, c0, 0 /* Set TTB */ mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */ #if defined(CPU_ARM1136) || defined(CPU_ARM1176) || defined(CPU_MV_PJ4B) || defined(CPU_CORTEXA) || defined(CPU_KRAIT) mov r0, #0 mcr p15, 0, r0, c13, c0, 1 /* Set ASID to 0 */ #endif AP_DEBUG(#4) /* Set the Domain Access register. Very important! */ mov r0, #((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT) mcr p15, 0, r0, c3, c0, 0 /* Enable MMU */ mrc p15, 0, r0, c1, c0, 0 #if defined(CPU_ARM1136) || defined(CPU_ARM1176) || defined(CPU_MV_PJ4B) || defined(CPU_CORTEXA) || defined(CPU_KRAIT) orr r0, r0, #CPU_CONTROL_V6_EXTPAGE orr r0, r0, #CPU_CONTROL_AF_ENABLE #endif orr r0, r0, #(CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE) mcr p15, 0, r0, c1, c0, 0 nop nop nop CPWAIT(r0) adr r1, .Lstart ldmia r1, {r1, r2, sp} /* Set initial stack and */ mrc p15, 0, r0, c0, c0, 5 and r0, r0, #15 mov r1, #2048 mul r2, r1, r0 sub sp, sp, r2 str r1, [sp] ldr pc, .Lmpvirt_done mpvirt_done: mov fp, #0 /* trace back starts here */ bl _C_LABEL(init_secondary) /* Off we go */ adr r0, .Lmpreturned b _C_LABEL(panic) /* NOTREACHED */ .Lmpreturned: .asciz "main() returned" .align 0 END(mpentry) #endif ENTRY_NP(cpu_halt) mrs r2, cpsr bic r2, r2, #(PSR_MODE) orr r2, r2, #(PSR_SVC32_MODE) orr r2, r2, #(I32_bit | F32_bit) msr cpsr_all, r2 ldr r4, .Lcpu_reset_address ldr r4, [r4] ldr r0, .Lcpufuncs mov lr, pc ldr pc, [r0, #CF_IDCACHE_WBINV_ALL] mov lr, pc ldr pc, [r0, #CF_L2CACHE_WBINV_ALL] /* * Load the cpu_reset_needs_v4_MMU_disable flag to determine if it's * necessary. */ ldr r1, .Lcpu_reset_needs_v4_MMU_disable ldr r1, [r1] cmp r1, #0 mov r2, #0 /* * MMU & IDC off, 32 bit program & data space * Hurl ourselves into the ROM */ mov r0, #(CPU_CONTROL_32BP_ENABLE | CPU_CONTROL_32BD_ENABLE) mcr 15, 0, r0, c1, c0, 0 mcrne 15, 0, r2, c8, c7, 0 /* nail I+D TLB on ARMv4 and greater */ mov pc, r4 /* * _cpu_reset_address contains the address to branch to, to complete * the cpu reset after turning the MMU off * This variable is provided by the hardware specific code */ .Lcpu_reset_address: .word _C_LABEL(cpu_reset_address) /* * cpu_reset_needs_v4_MMU_disable contains a flag that signals if the * v4 MMU disable instruction needs executing... it is an illegal instruction * on f.e. ARM6/7 that locks up the computer in an endless illegal * instruction / data-abort / reset loop. */ .Lcpu_reset_needs_v4_MMU_disable: .word _C_LABEL(cpu_reset_needs_v4_MMU_disable) END(cpu_halt) /* * setjump + longjmp */ ENTRY(setjmp) stmia r0, {r4-r14} mov r0, #0x00000000 RET END(setjmp) ENTRY(longjmp) ldmia r0, {r4-r14} mov r0, #0x00000001 RET END(longjmp) .data .global _C_LABEL(esym) _C_LABEL(esym): .word _C_LABEL(end) ENTRY_NP(abort) b _C_LABEL(abort) END(abort) ENTRY_NP(sigcode) mov r0, sp /* * Call the sigreturn system call. * * We have to load r7 manually rather than using * "ldr r7, =SYS_sigreturn" to ensure the value of szsigcode is * correct. Using the alternative places esigcode at the address * of the data rather than the address one past the data. */ ldr r7, [pc, #12] /* Load SYS_sigreturn */ swi SYS_sigreturn /* Well if that failed we better exit quick ! */ ldr r7, [pc, #8] /* Load SYS_exit */ swi SYS_exit /* Branch back to retry SYS_sigreturn */ b . - 16 .word SYS_sigreturn .word SYS_exit .align 0 .global _C_LABEL(esigcode) _C_LABEL(esigcode): .data .global szsigcode szsigcode: .long esigcode-sigcode END(sigcode) /* End of locore.S */ Index: head/sys/arm/at91/std.bwct =================================================================== --- head/sys/arm/at91/std.bwct (revision 261226) +++ head/sys/arm/at91/std.bwct (revision 261227) @@ -1,10 +1,9 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 device at91_board_bwct Index: head/sys/arm/at91/std.eb9200 =================================================================== --- head/sys/arm/at91/std.eb9200 (revision 261226) +++ head/sys/arm/at91/std.eb9200 (revision 261227) @@ -1,10 +1,9 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 device at91_board_eb9200 Index: head/sys/arm/at91/std.ethernut5 =================================================================== --- head/sys/arm/at91/std.ethernut5 (revision 261226) +++ head/sys/arm/at91/std.ethernut5 (revision 261227) @@ -1,11 +1,10 @@ # $FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_ethernut5 device at91sam9260 Index: head/sys/arm/at91/std.hl200 =================================================================== --- head/sys/arm/at91/std.hl200 (revision 261226) +++ head/sys/arm/at91/std.hl200 (revision 261227) @@ -1,10 +1,9 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20000000 makeoptions KERNPHYSADDR=0x20100000 options KERNPHYSADDR=0x20100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNVIRTADDR=0xc0100000 device at91_board_hl200 Index: head/sys/arm/at91/std.hl201 =================================================================== --- head/sys/arm/at91/std.hl201 (revision 261226) +++ head/sys/arm/at91/std.hl201 (revision 261227) @@ -1,11 +1,10 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_hl201 device at91sam9g20 Index: head/sys/arm/at91/std.kb920x =================================================================== --- head/sys/arm/at91/std.kb920x (revision 261226) +++ head/sys/arm/at91/std.kb920x (revision 261227) @@ -1,10 +1,9 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 device at91_board_kb920x Index: head/sys/arm/at91/std.qila9g20 =================================================================== --- head/sys/arm/at91/std.qila9g20 (revision 261226) +++ head/sys/arm/at91/std.qila9g20 (revision 261227) @@ -1,11 +1,10 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_qila9g20 device at91sam9g20 Index: head/sys/arm/at91/std.sam9260ek =================================================================== --- head/sys/arm/at91/std.sam9260ek (revision 261226) +++ head/sys/arm/at91/std.sam9260ek (revision 261227) @@ -1,11 +1,10 @@ # $FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_sam9260ek device at91sam9260 Index: head/sys/arm/at91/std.sam9g20ek =================================================================== --- head/sys/arm/at91/std.sam9g20ek (revision 261226) +++ head/sys/arm/at91/std.sam9g20ek (revision 261227) @@ -1,11 +1,10 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_sam9g20ek device at91sam9g20 Index: head/sys/arm/at91/std.sam9x25ek =================================================================== --- head/sys/arm/at91/std.sam9x25ek (revision 261226) +++ head/sys/arm/at91/std.sam9x25ek (revision 261227) @@ -1,11 +1,10 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_sam9x25ek device at91sam9x5 Index: head/sys/arm/at91/std.sn9g45 =================================================================== --- head/sys/arm/at91/std.sn9g45 (revision 261226) +++ head/sys/arm/at91/std.sn9g45 (revision 261227) @@ -1,12 +1,11 @@ #$FreeBSD$ include "../at91/std.at91sam9g45" -options STARTUP_PAGETABLE_ADDR=0x70800000 makeoptions KERNPHYSADDR=0x70008000 options KERNPHYSADDR=0x70008000 makeoptions KERNVIRTADDR=0xc0008000 options KERNVIRTADDR=0xc0008000 device at91sam9g45 device at91_board_sn9g45 Index: head/sys/arm/at91/std.tsc4370 =================================================================== --- head/sys/arm/at91/std.tsc4370 (revision 261226) +++ head/sys/arm/at91/std.tsc4370 (revision 261227) @@ -1,10 +1,9 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 device at91_board_tsc4370 Index: head/sys/arm/broadcom/bcm2835/std.rpi =================================================================== --- head/sys/arm/broadcom/bcm2835/std.rpi (revision 261226) +++ head/sys/arm/broadcom/bcm2835/std.rpi (revision 261227) @@ -1,12 +1,11 @@ # $FreeBSD$ include "../broadcom/bcm2835/std.bcm2835" options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x00100000 makeoptions KERNPHYSADDR=0x00100000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x01000000 options FREEBSD_BOOT_LOADER options LINUX_BOOT_ABI Index: head/sys/arm/conf/ATMEL =================================================================== --- head/sys/arm/conf/ATMEL (revision 261226) +++ head/sys/arm/conf/ATMEL (revision 261227) @@ -1,180 +1,179 @@ # Kernel configuration to test compile all the atmel bits with one # configuration. This kernel will not (presently) boot. Do not copy # it to create your own custom config file. # # $FreeBSD$ ident ATMEL include "../at91/std.atmel" # Typical values for most SoCs and board configurations. Will not work for # at91sam9g45 or on some boards with non u-boot boot loaders. -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 makeoptions MODULES_OVERRIDE="" # list all boards here, but not just yet (no multiboard in mainline). options ARM_MANY_BOARD device at91_board_bwct device at91_board_ethernut5 device at91_board_hl200 device at91_board_hl201 device at91_board_kb920x device at91_board_qila9g20 device at91_board_sam9260ek device at91_board_sam9g20ek device at91_board_sam9x25ek device at91_board_sn9g45 device at91_board_tsc4370 #makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SCHED_4BSD # 4BSD scheduler #options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options MD_ROOT # MD is a potential root device options NFSCL # New Network Filesystem Client options NFSD # New Network Filesystem Server options NFSLOCKD # Network Lock Manager options NFS_ROOT # NFS usable as /, requires NFSCL options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Provides labelization options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. #options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) #options AUDIT # Security event auditing #options CAPABILITY_MODE # Capsicum capability mode #options CAPABILITIES # Capsicum capabilities #options MAC # TrustedBSD MAC Framework #options INCLUDE_CONFIG_FILE # Include this file in kernel # required for netbooting options BOOTP options BOOTP_COMPAT options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=ate0 # alternatively, boot from a MMC/SD memory card #options ROOTDEVNAME=\"ufs:/dev/mmcsd0a\" # kernel/memory size reduction options MUTEX_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING options NO_SYSCTL_DESCR options RWLOCK_NOINLINE # Debugging support. Always need this: options KDB # Enable kernel debugger support. # For minimum debugger support (stable branch) use: options KDB_TRACE # Print a stack trace for a panic. # For full debugger support use this instead: options DDB # Support DDB. options GDB # Support remote GDB. #options DEADLKRES # Enable the deadlock resolver #options INVARIANTS # Enable calls of extra sanity checking #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS # Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed #options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # Ethernet device mii # Minimal MII support device ate # Atmel AT91 Ethernet friver # I2C device at91_twi # Atmel AT91 Two-wire Interface device iic # I2C generic I/O device driver device iicbus # I2C bus system device pcf8563 # NXP PCF8563 clock/calendar # MMC/SD device at91_mci # Atmel AT91 Multimedia Card Interface options AT91_MCI_HAS_4WIRE device mmc # MMC/SD bus device mmcsd # MMC/SD memory card # DataFlash device at91_spi # Atmel AT91 Serial Peripheral Interface device spibus # SPI bus device at45d # Atmel AT45D device geom_map # GEOM partition mapping # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device vlan # 802.1Q VLAN support device tun # Packet tunnel. device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) #device firmware # firmware assist module # SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct ATA/SCSI access) device ses # Enclosure Services (SES and SAF-TE) #device ctl # CAM Target Layer # Serial (COM) ports device uart # Multi-uart driver options ALT_BREAK_TO_DEBUGGER # USB support options USB_HOST_ALIGN=32 # Align usb buffers to cache line size. options USB_DEBUG # enable debug msgs device ohci # OHCI USB interface device usb # USB Bus (required) device umass # Disks/Mass storage - Requires scbus and da # USB device (gadget) support device at91_dci # Atmel's usb device device usfs # emulate a flash device cdce # emulate an ethernet device usb_template # Control of the gadget # watchdog device at91_wdt # Atmel AT91 Watchdog Timer device at91_rtc device at91_ssc #device at91_tc # missing? # NAND Flash - Reference design has Samsung 256MB but others possible device nand # NAND interface on CS3 Index: head/sys/arm/conf/CNS11XXNAS =================================================================== --- head/sys/arm/conf/CNS11XXNAS (revision 261226) +++ head/sys/arm/conf/CNS11XXNAS (revision 261227) @@ -1,125 +1,124 @@ # CNS11XXNAS - StarSemi STR9104/Cavium CNS1102 NAS # kernel configuration file for FreeBSD/arm # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident CNS11XXNAS #options PHYSADDR=0x10000000 #options KERNPHYSADDR=0x10200000 #options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm #options FLASHADDR=0x50000000 #options LOADERRAMADDR=0x00000000 -#options STARTUP_PAGETABLE_ADDR=0x10000000 include "../econa/std.econa" makeoptions MODULES_OVERRIDE="" makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options HZ=100 options DEVICE_POLLING # Debugging for use in -current options KDB #options GDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles ##options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC #options COMPAT_FREEBSD5 #options COMPAT_FREEBSD6 #options COMPAT_FREEBSD7 options SCHED_ULE #ULE scheduler #options SCHED_4BSD #4BSD scheduler options GEOM_PART_GPT # GUID Partition Tables. #options GEOM_PART_EBR #options GEOM_PART_EBR_COMPAT options GEOM_LABEL # Provides labelization options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client #options NFSD #New Network Filesystem Server #options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL options MSDOSFS #MSDOS Filesystem #options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options MUTEX_NOINLINE #Mutex inlines are space hogs options RWLOCK_NOINLINE #rwlock inlines are space hogs options SX_NOINLINE #sx inliens are space hogs #options BOOTP #options BOOTP_NFSROOT #options BOOTP_NFSV3 #options BOOTP_WIRED_TO=npe0 #options BOOTP_COMPAT #device pci device uart device firmware device mii # Minimal mii routines device ether device bpf device loop device md device random # Entropy device #options ARM_USE_SMALL_ALLOC device usb options USB_HOST_ALIGN=32 # Align usb buffers to cache line size. #options USB_DEBUG device ohci device ehci device umass device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) device pass device cfi #device udav # Davicom DM9601E USB device geom_label device geom_journal device geom_part_bsd options ROOTDEVNAME=\"ufs:da0s1a\" Index: head/sys/arm/conf/CRB =================================================================== --- head/sys/arm/conf/CRB (revision 261226) +++ head/sys/arm/conf/CRB (revision 261227) @@ -1,112 +1,111 @@ # GENERIC -- Generic kernel configuration file for FreeBSD/arm # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident CRB options PHYSADDR=0x00000000 options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm options COUNTS_PER_SEC=400000000 -options STARTUP_PAGETABLE_ADDR=0x00000000 include "../xscale/i8134x/std.crb" makeoptions MODULES_OVERRIDE="" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=xscale options HZ=100 options BREAK_TO_DEBUGGER #options DEVICE_POLLING options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client options NFSD #New Network Filesystem Server options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options INTR_FILTER options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options BOOTP options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=em0 options BOOTP_COMPAT #options PREEMPTION device loop device ether #device saarm device miibus device rl device em device uart device pci device ata options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) device "7seg" # SCSI Controllers #options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. #options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. # Debugging for use in -current options KDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device device iopwdog options ARM_USE_SMALL_ALLOC # Floppy drives Index: head/sys/arm/conf/EP80219 =================================================================== --- head/sys/arm/conf/EP80219 (revision 261226) +++ head/sys/arm/conf/EP80219 (revision 261227) @@ -1,113 +1,112 @@ # EP80219 -- Custom kernel configuration file for FreeBSD/arm on the EP80219 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident EP80219 options PHYSADDR=0xa0000000 options KERNPHYSADDR=0xa0200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm -options STARTUP_PAGETABLE_ADDR=0xa0000000 #options ARM32_NEW_VM_LAYOUT include "../xscale/i80321/std.ep80219" makeoptions MODULES_OVERRIDE="" makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=xscale options HZ=100 #options DEVICE_POLLING options SCHED_4BSD #4BSD scheduler options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client options NFSD #New Network Filesystem Server options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Providers labelization. options BOOTP options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=fxp0 options BOOTP_COMPAT #options PREEMPTION device loop device ether #device saarm device miibus device fxp device uart device pci device ata options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) # SCSI Controllers device iopwdog # I80321 Watchdog device dma # I80321 DMA Controller # Debugging for use in -current options KDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device options ARM_USE_SMALL_ALLOC # Floppy drives options INCLUDE_CONFIG_FILE # Include this file in kernel #options VERBOSE_SYSINIT options VERBOSE_INIT_ARM device bpf #options ROOTDEVNAME=\"ufs:ada0s1a\" Index: head/sys/arm/conf/GUMSTIX =================================================================== --- head/sys/arm/conf/GUMSTIX (revision 261226) +++ head/sys/arm/conf/GUMSTIX (revision 261227) @@ -1,90 +1,89 @@ # GUMSTIX -- Custom configuration for the Gumstix Basix and Connex boards from # gumstix.com # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident GUMSTIX cpu CPU_XSCALE_PXA2X0 # This probably wants to move somewhere else. Maybe we can create a basic # PXA2X0 config, then make a GUMSTIX config that includes the basic one, # adds the smc and smcphy devices and pulls in this hints file. hints "GUMSTIX.hints" options PHYSADDR=0xa0000000 options KERNPHYSADDR=0xa0200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm -options STARTUP_PAGETABLE_ADDR=0xa0000000 include "../xscale/pxa/std.pxa" makeoptions MODULES_OVERRIDE="" makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options HZ=100 #options DEVICE_POLLING options SCHED_4BSD #4BSD scheduler options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client #options NFSD #New Network Filesystem Server options NFS_ROOT #NFS usable as /, requires NFSCL #options MSDOSFS #MSDOS Filesystem #options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options BOOTP options BOOTP_NFSROOT options BOOTP_WIRED_TO=smc0 options BOOTP_COMPAT options BOOTP_NFSV3 options BOOTP_BLOCKSIZE=4096 options PREEMPTION device loop device ether device mii device mii_bitbang device smc device smcphy device uart device uart_ns8250 # Debugging for use in -current options KDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC device md device random # Entropy device Index: head/sys/arm/conf/IQ31244 =================================================================== --- head/sys/arm/conf/IQ31244 (revision 261226) +++ head/sys/arm/conf/IQ31244 (revision 261227) @@ -1,112 +1,111 @@ # IQ31244 -- Custom kernel configuration file for FreeBSD/arm on the IQ31244 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident IQ31244 options PHYSADDR=0xa0000000 options KERNPHYSADDR=0xa0200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm options FLASHADDR=0xf0000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0xa0000000 include "../xscale/i80321/std.iq31244" makeoptions MODULES_OVERRIDE="" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=xscale options HZ=100 #options DEVICE_POLLING options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client options NFSD #New Network Filesystem Server options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options BOOTP options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=em0 options BOOTP_COMPAT #options PREEMPTION device loop device ether #device saarm device miibus device rl device em device uart device pci device ata options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) # SCSI Controllers device iopwdog # I80321 Watchdog device dma # I80321 DMA Controller device aau # I80321 Application Accelerator Unit device "iq31244_7seg" # IQ31244 7 seg #options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. #options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. # Debugging for use in -current options KDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O options XSCALE_CACHE_READ_WRITE_ALLOCATE device md device random # Entropy device options ARM_USE_SMALL_ALLOC # Floppy drives Index: head/sys/arm/conf/NSLU =================================================================== --- head/sys/arm/conf/NSLU (revision 261226) +++ head/sys/arm/conf/NSLU (revision 261227) @@ -1,118 +1,117 @@ # NSLU - kernel configuration file for FreeBSD/arm on Linksys NSLU2 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident NSLU # XXX What is defined in std.avila does not exactly match the following: #options PHYSADDR=0x10000000 #options KERNPHYSADDR=0x10200000 #options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm #options FLASHADDR=0x50000000 #options LOADERRAMADDR=0x00000000 -#options STARTUP_PAGETABLE_ADDR=0x10000000 include "../xscale/ixp425/std.ixp425" # NB: memory mapping is defined in std.avila (see also comment above) include "../xscale/ixp425/std.avila" options XSCALE_CACHE_READ_WRITE_ALLOCATE #To statically compile in device wiring instead of /boot/device.hints hints "NSLU.hints" #Default places to look for devices. makeoptions MODULES_OVERRIDE="" makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=xscale options HZ=100 options DEVICE_POLLING # Debugging for use in -current options KDB #options GDB options DDB #Enable the kernel debugger #options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC options SCHED_ULE #ULE scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCL #New Network Filesystem Client options NFSD #New Network Filesystem Server options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options MUTEX_NOINLINE #Mutex inlines are space hogs options RWLOCK_NOINLINE #rwlock inlines are space hogs options SX_NOINLINE #sx inliens are space hogs options BOOTP options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=npe0 options BOOTP_COMPAT device pci device uart # I2C Bus device iicbus device iicbb device iic device ixpiic # I2C bus glue device ixpwdog # watchdog timer device npe # Network Processing Engine device npe_fw device firmware device qmgr # Q Manager (required by npe) device mii # Minimal mii routines device rlphy # NSLU2 uses Realtek PHY attached to npe device ether device bpf device loop device md device random # Entropy device #options ARM_USE_SMALL_ALLOC device usb options USB_HOST_ALIGN=32 # Align usb buffers to cache line size. options USB_DEBUG device ohci device ehci device umass device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) Index: head/sys/arm/conf/VERSATILEPB =================================================================== --- head/sys/arm/conf/VERSATILEPB (revision 261226) +++ head/sys/arm/conf/VERSATILEPB (revision 261227) @@ -1,102 +1,101 @@ # VERSATILEPB - Configuration for QEMU version of Versatile Platform Board # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ ident VERSATILEPB machine arm armv6 cpu CPU_ARM1176 files "../versatile/files.versatile" makeoptions MODULES_OVERRIDE="" options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x00100000 makeoptions KERNPHYSADDR=0x00100000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x01000000 options FREEBSD_BOOT_LOADER options LINUX_BOOT_ABI makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options HZ=100 options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories device snp options PSEUDOFS #Pseudo-filesystem framework options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ROOTDEVNAME=\"ufs:da0s1a\" options VFP # vfp/neon options PREEMPTION device bpf device loop device mii device mii_bitbang device smc device smcphy device ether device uart device pl011 device pl190 device pty device pci # SCSI Controllers device sym # NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) # NOTE: serial console is disabled if syscons enabled # Comment following lines for headless setup device sc device kbdmux options SC_DFLT_FONT # compile font in makeoptions SC_DFLT_FONT=cp437 options KDB options DDB #Enable the kernel debugger options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS device md device random # Entropy device # Flattened Device Tree options FDT options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=versatilepb.dts Index: head/sys/arm/econa/std.econa =================================================================== --- head/sys/arm/econa/std.econa (revision 261226) +++ head/sys/arm/econa/std.econa (revision 261227) @@ -1,17 +1,16 @@ # $FreeBSD$ files "../econa/files.econa" cpu CPU_FA526 machine arm makeoptions CONF_CFLAGS=-march=armv4 options PHYSADDR=0x00000000 makeoptions KERNPHYSADDR=0x01000000 makeoptions KERNVIRTADDR=0xc1000000 options KERNPHYSADDR=0x01000000 options KERNVIRTADDR=0xc1000000 # Used in ldscript.arm options FLASHADDR=0xD0000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options NO_EVENTTIMERS Index: head/sys/arm/freescale/imx/std.imx51 =================================================================== --- head/sys/arm/freescale/imx/std.imx51 (revision 261226) +++ head/sys/arm/freescale/imx/std.imx51 (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ machine arm armv6 cpu CPU_CORTEXA makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x90100000 makeoptions KERNPHYSADDR=0x90100000 options PHYSADDR=0x90000000 -options STARTUP_PAGETABLE_ADDR=0x91000000 files "../freescale/imx/files.imx51" Index: head/sys/arm/freescale/imx/std.imx53 =================================================================== --- head/sys/arm/freescale/imx/std.imx53 (revision 261226) +++ head/sys/arm/freescale/imx/std.imx53 (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ machine arm armv6 cpu CPU_CORTEXA makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x70100000 makeoptions KERNPHYSADDR=0x70100000 options PHYSADDR=0x70000000 -options STARTUP_PAGETABLE_ADDR=0x71000000 files "../freescale/imx/files.imx53" Index: head/sys/arm/freescale/imx/std.imx6 =================================================================== --- head/sys/arm/freescale/imx/std.imx6 (revision 261226) +++ head/sys/arm/freescale/imx/std.imx6 (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ machine arm armv6 cpu CPU_CORTEXA makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR = 0xc2000000 makeoptions KERNVIRTADDR = 0xc2000000 options KERNPHYSADDR = 0x12000000 makeoptions KERNPHYSADDR = 0x12000000 options PHYSADDR = 0x10000000 -options STARTUP_PAGETABLE_ADDR = 0x11f00000 files "../freescale/imx/files.imx6" Index: head/sys/arm/freescale/vybrid/std.vybrid =================================================================== --- head/sys/arm/freescale/vybrid/std.vybrid (revision 261226) +++ head/sys/arm/freescale/vybrid/std.vybrid (revision 261227) @@ -1,20 +1,18 @@ # $FreeBSD$ makeoption ARM_LITTLE_ENDIAN cpu CPU_CORTEXA machine arm armv6 options PHYSADDR=0x80000000 makeoptions KERNPHYSADDR=0x80100000 options KERNPHYSADDR=0x80100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNVIRTADDR=0xc0100000 -options STARTUP_PAGETABLE_ADDR=0x81000000 - options ARM_L2_PIPT files "../freescale/vybrid/files.vybrid" Index: head/sys/arm/lpc/std.lpc =================================================================== --- head/sys/arm/lpc/std.lpc (revision 261226) +++ head/sys/arm/lpc/std.lpc (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ # # DM644x # files "../lpc/files.lpc" cpu CPU_ARM9 machine arm makeoptions CONF_CFLAGS="-march=armv5te" options PHYSADDR=0x80000000 -options STARTUP_PAGETABLE_ADDR=0x80000000 makeoptions KERNPHYSADDR=0x80100000 options KERNPHYSADDR=0x80100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNVIRTADDR=0xc0100000 Index: head/sys/arm/mv/armadaxp/std.armadaxp =================================================================== --- head/sys/arm/mv/armadaxp/std.armadaxp (revision 261226) +++ head/sys/arm/mv/armadaxp/std.armadaxp (revision 261227) @@ -1,17 +1,16 @@ # $FreeBSD$ # kernel gets loaded at 0x00200000 by the loader, but runs at virtual address # 0xc0200000. RAM starts at 0. We put the pagetable at a reasonable place # in memory, but may need to bounce it higher if there's a problem with this. # We could paper over this by loading the kernel at 0xc0000000 virtual, but # that leads to other complications, so we'll just reclaim the lower region of # ram after we're loaded. Put the page tables for startup at 1MB. makeoptions KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options ARM_L2_PIPT Index: head/sys/arm/mv/discovery/std.db78xxx =================================================================== --- head/sys/arm/mv/discovery/std.db78xxx (revision 261226) +++ head/sys/arm/mv/discovery/std.db78xxx (revision 261227) @@ -1,12 +1,11 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/discovery/files.db78xxx" makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Index: head/sys/arm/mv/kirkwood/std.kirkwood =================================================================== --- head/sys/arm/mv/kirkwood/std.kirkwood (revision 261226) +++ head/sys/arm/mv/kirkwood/std.kirkwood (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ # kernel gets loaded at 0x00900000 by the loader, but runs at virtual address # 0xc0900000. RAM starts at 0. We put the pagetable at a reasonable place # in memory, but may need to bounce it higher if there's a problem with this. # We could paper over this by loading the kernel at 0xc0000000 virtual, but # that leads to other complications, so we'll just reclaim the lower region of # ram after we're loaded. Put the page tables for startup at 1MB. makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Index: head/sys/arm/mv/orion/std.db88f5xxx =================================================================== --- head/sys/arm/mv/orion/std.db88f5xxx (revision 261226) +++ head/sys/arm/mv/orion/std.db88f5xxx (revision 261227) @@ -1,12 +1,11 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Index: head/sys/arm/mv/orion/std.ts7800 =================================================================== --- head/sys/arm/mv/orion/std.ts7800 (revision 261226) +++ head/sys/arm/mv/orion/std.ts7800 (revision 261227) @@ -1,15 +1,14 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/orion/files.ts7800" makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options LOADERRAMADDR=0x00000000 options FLASHADDR=0x00008000 Index: head/sys/arm/rockchip/std.rk30xx =================================================================== --- head/sys/arm/rockchip/std.rk30xx (revision 261226) +++ head/sys/arm/rockchip/std.rk30xx (revision 261227) @@ -1,27 +1,25 @@ # Rockchip rk30xx common options #$FreeBSD$ cpu CPU_CORTEXA machine arm armv6 makeoption ARM_LITTLE_ENDIAN # Physical memory starts at 0x60400000. We assume images are loaded at # 0x60400000. # # options PHYSADDR=0x60000000 makeoptions KERNPHYSADDR=0x60400000 options KERNPHYSADDR=0x60400000 makeoptions KERNVIRTADDR=0xc0400000 options KERNVIRTADDR=0xc0400000 -options STARTUP_PAGETABLE_ADDR=0x60200000 - options ARM_L2_PIPT options IPI_IRQ_START=0 options IPI_IRQ_END=15 files "../rockchip/files.rk30xx" Index: head/sys/arm/s3c2xx0/std.ln2410sbc =================================================================== --- head/sys/arm/s3c2xx0/std.ln2410sbc (revision 261226) +++ head/sys/arm/s3c2xx0/std.ln2410sbc (revision 261227) @@ -1,11 +1,10 @@ #$FreeBSD$ include "../s3c2xx0/std.s3c2410" makeoptions KERNPHYSADDR=0x30000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x30000000 options KERNVIRTADDR=0xc0000000 options PHYSADDR=0x30000000 -options STARTUP_PAGETABLE_ADDR=0x30800000 options NO_EVENTTIMERS Index: head/sys/arm/samsung/exynos/std.exynos5 =================================================================== --- head/sys/arm/samsung/exynos/std.exynos5 (revision 261226) +++ head/sys/arm/samsung/exynos/std.exynos5 (revision 261227) @@ -1,23 +1,21 @@ # $FreeBSD$ makeoption ARM_LITTLE_ENDIAN cpu CPU_CORTEXA machine arm armv6 options PHYSADDR=0x40000000 makeoptions KERNPHYSADDR=0x40f00000 options KERNPHYSADDR=0x40f00000 makeoptions KERNVIRTADDR=0xc0f00000 options KERNVIRTADDR=0xc0f00000 -options STARTUP_PAGETABLE_ADDR=0x40100000 - options ARM_L2_PIPT options IPI_IRQ_START=0 options IPI_IRQ_END=15 files "../samsung/exynos/files.exynos5" Index: head/sys/arm/tegra/std.tegra2 =================================================================== --- head/sys/arm/tegra/std.tegra2 (revision 261226) +++ head/sys/arm/tegra/std.tegra2 (revision 261227) @@ -1,16 +1,14 @@ # nVidia Tegra 2 common options #$FreeBSD$ cpu CPU_CORTEXA machine arm armv6 options PHYSADDR=0x00000000 makeoptions KERNPHYSADDR=0x00200000 options KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x00100000 - files "../tegra/files.tegra2" Index: head/sys/arm/ti/am335x/std.am335x =================================================================== --- head/sys/arm/ti/am335x/std.am335x (revision 261226) +++ head/sys/arm/ti/am335x/std.am335x (revision 261227) @@ -1,21 +1,19 @@ # AM335x generic configuration #$FreeBSD$ files "../ti/am335x/files.am335x" include "../ti/std.ti" makeoption ARM_LITTLE_ENDIAN # Physical memory starts at 0x80000000. We assume images are loaded at # 0x80200000, e.g. from u-boot with 'fatload mmc 0 0x80200000 kernel.bin' # # options PHYSADDR=0x80000000 options KERNPHYSADDR=0x80200000 makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x80000000 - options SOC_TI_AM335X options ARM_L2_PIPT Index: head/sys/arm/ti/omap4/std.omap4 =================================================================== --- head/sys/arm/ti/omap4/std.omap4 (revision 261226) +++ head/sys/arm/ti/omap4/std.omap4 (revision 261227) @@ -1,25 +1,23 @@ # Omap4430 generic configuration #$FreeBSD$ files "../ti/omap4/files.omap4" include "../ti/std.ti" makeoption ARM_LITTLE_ENDIAN # Physical memory starts at 0x80000000. We assume images are loaded at # 0x80200000, e.g. from u-boot with 'fatload mmc 0 0x80200000 kernel.bin' # # options PHYSADDR=0x80000000 options KERNPHYSADDR=0x80200000 makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x80000000 - options SOC_OMAP4 options ARM_L2_PIPT options IPI_IRQ_START=0 options IPI_IRQ_END=15 Index: head/sys/arm/xilinx/std.zynq7 =================================================================== --- head/sys/arm/xilinx/std.zynq7 (revision 261226) +++ head/sys/arm/xilinx/std.zynq7 (revision 261227) @@ -1,23 +1,22 @@ # # std.zynq7 - Generic configuration for Xilinx Zynq-7000 PS. # # $FreeBSD$ cpu CPU_CORTEXA machine arm armv6 files "../xilinx/files.zynq7" # Physical memory starts at 0x00000000. We assume images are loaded at # 0x00100000, e.g. from u-boot with 'fatload mmc 0 0x100000 kernel.bin' # # options PHYSADDR=0x00000000 options KERNPHYSADDR=0x00100000 makeoptions KERNPHYSADDR=0x00100000 options KERNVIRTADDR=0xc0100000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0100000 -options STARTUP_PAGETABLE_ADDR=0x000f0000 options ARM_L2_PIPT Index: head/sys/arm/xscale/ixp425/std.avila =================================================================== --- head/sys/arm/xscale/ixp425/std.avila (revision 261226) +++ head/sys/arm/xscale/ixp425/std.avila (revision 261227) @@ -1,22 +1,21 @@ #$FreeBSD$ # # Gateworks GW23XX board configuration # files "../xscale/ixp425/files.avila" # # Physical memory starts at 0. We assume images are loaded at # 0x200000, e.g. from redboot with load -b 0x200000 kernel. # # Redboot is expected to handle unmapping the flash memory that # appears at 0 on boot. Likewise we expect the expansion bus to # be remapped away from 0. # options PHYSADDR=0x00000000 options KERNPHYSADDR=0x00200000 makeoptions KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 options FLASHADDR=0x50000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00000000 Index: head/sys/conf/ldscript.arm =================================================================== --- head/sys/conf/ldscript.arm (revision 261226) +++ head/sys/conf/ldscript.arm (revision 261227) @@ -1,148 +1,154 @@ /* $FreeBSD$ */ OUTPUT_ARCH(arm) ENTRY(_start) SEARCH_DIR(/usr/lib); SECTIONS { /* Read-only sections, merged into text segment: */ . = KERNVIRTADDR + SIZEOF_HEADERS; .text : { *(.text) *(.stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) *(.gnu.linkonce.t*) } =0x9090 _etext = .; PROVIDE (etext = .); .fini : { *(.fini) } =0x9090 .rodata : { *(.rodata) *(.gnu.linkonce.r*) } .rodata1 : { *(.rodata1) } .interp : { *(.interp) } .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.text : { *(.rel.text) *(.rel.gnu.linkonce.t*) } .rela.text : { *(.rela.text) *(.rela.gnu.linkonce.t*) } .rel.data : { *(.rel.data) *(.rel.gnu.linkonce.d*) } .rela.data : { *(.rela.data) *(.rela.gnu.linkonce.d*) } .rel.rodata : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } .rela.rodata : { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.bss : { *(.rel.bss) } .rela.bss : { *(.rela.bss) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { *(.init) } =0x9090 .plt : { *(.plt) } . = ALIGN(4); _extab_start = .; PROVIDE(extab_start = .); .ARM.extab : { *(.ARM.extab) } _extab.end = .; PROVIDE(extab_end = .); _exidx_start = .; PROVIDE(exidx_start = .); .ARM.exidx : { *(.ARM.exidx) } _exidx_end = .; PROVIDE(exidx_end = .); /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(0x1000) + (. & (0x1000 - 1)) ; .data : { *(.data) *(.gnu.linkonce.d*) CONSTRUCTORS } .data1 : { *(.data1) } . = ALIGN(32 / 8); _start_ctors = .; PROVIDE (start_ctors = .); .ctors : { *(.ctors) } _stop_ctors = .; PROVIDE (stop_ctors = .); .dtors : { *(.dtors) } .got : { *(.got.plt) *(.got) } .dynamic : { *(.dynamic) } /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size. */ .sdata : { *(.sdata) } _edata = .; PROVIDE (edata = .); __bss_start = .; .sbss : { *(.sbss) *(.scommon) } .bss : { *(.dynbss) *(.bss) *(COMMON) + . = ALIGN(32 / 8); + _ebss = .; + /* A section for the initial page table, it doesn't need to be in the + kernel file, however unlike normal .bss entries should not be zeroed + out as we use it before the .bss section is cleared. */ + *(.init_pagetable) } . = ALIGN(32 / 8); _end = . ; PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* These must appear regardless of . */ } Index: head/sys/conf/options.arm =================================================================== --- head/sys/conf/options.arm (revision 261226) +++ head/sys/conf/options.arm (revision 261227) @@ -1,66 +1,65 @@ #$FreeBSD$ ARM9_CACHE_WRITE_THROUGH opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARM_KERN_DIRECTMAP opt_vm.h ARM_L2_PIPT opt_global.h ARM_MANY_BOARD opt_global.h ARM_USE_SMALL_ALLOC opt_global.h ARM_WANT_TP_ADDRESS opt_global.h COUNTS_PER_SEC opt_timer.h CPU_ARM9 opt_global.h CPU_ARM9E opt_global.h CPU_ARM1136 opt_global.h CPU_ARM1176 opt_global.h CPU_CORTEXA opt_global.h CPU_KRAIT opt_global.h CPU_FA526 opt_global.h CPU_FA626TE opt_global.h CPU_MV_PJ4B opt_global.h CPU_SA1100 opt_global.h CPU_SA1110 opt_global.h CPU_XSCALE_80219 opt_global.h CPU_XSCALE_80321 opt_global.h CPU_XSCALE_81342 opt_global.h CPU_XSCALE_IXP425 opt_global.h CPU_XSCALE_IXP435 opt_global.h CPU_XSCALE_PXA2X0 opt_global.h FLASHADDR opt_global.h IPI_IRQ_START opt_smp.h IPI_IRQ_END opt_smp.h FREEBSD_BOOT_LOADER opt_global.h IXP4XX_FLASH_SIZE opt_global.h KERNPHYSADDR opt_global.h KERNVIRTADDR opt_global.h LINUX_BOOT_ABI opt_global.h LOADERRAMADDR opt_global.h NO_EVENTTIMERS opt_timer.h PHYSADDR opt_global.h SOCDEV_PA opt_global.h SOCDEV_VA opt_global.h PV_STATS opt_pmap.h QEMU_WORKAROUNDS opt_global.h SOC_MV_ARMADAXP opt_global.h SOC_MV_DISCOVERY opt_global.h SOC_MV_DOVE opt_global.h SOC_MV_FREY opt_global.h SOC_MV_KIRKWOOD opt_global.h SOC_MV_LOKIPLUS opt_global.h SOC_MV_ORION opt_global.h SOC_OMAP3 opt_global.h SOC_OMAP4 opt_global.h SOC_TI_AM335X opt_global.h SOC_TEGRA2 opt_global.h -STARTUP_PAGETABLE_ADDR opt_global.h XSCALE_CACHE_READ_WRITE_ALLOCATE opt_global.h XSACLE_DISABLE_CCNT opt_timer.h VERBOSE_INIT_ARM opt_global.h VM_MAXUSER_ADDRESS opt_global.h AT91_ATE_USE_RMII opt_at91.h AT91_MCI_ALLOW_OVERCLOCK opt_at91.h AT91_MCI_HAS_4WIRE opt_at91.h AT91_MCI_SLOT_B opt_at91.h GFB_DEBUG opt_gfb.h GFB_NO_FONT_LOADING opt_gfb.h GFB_NO_MODE_CHANGE opt_gfb.h AT91C_MAIN_CLOCK opt_at91.h VFP opt_global.h