From owner-p4-projects@FreeBSD.ORG Thu Apr 3 22:04:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6FA51065672; Thu, 3 Apr 2008 22:04:33 +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 80252106566B for ; Thu, 3 Apr 2008 22:04:33 +0000 (UTC) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 697778FC12 for ; Thu, 3 Apr 2008 22:04:33 +0000 (UTC) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m33M4XRk036369 for ; Thu, 3 Apr 2008 22:04:33 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m33M4XtK036367 for perforce@freebsd.org; Thu, 3 Apr 2008 22:04:33 GMT (envelope-from wsalamon@computer.org) Date: Thu, 3 Apr 2008 22:04:33 GMT Message-Id: <200804032204.m33M4XtK036367@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 139301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Apr 2008 22:04:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=139301 Change 139301 by wsalamon@vh2 on 2008/04/03 22:04:26 Integrate from vendor branch, picking up latest build fixes. Affected files ... .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/arm/bus_space_generic.c#1 branch .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/arm/machdep.c#3 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/at91/kb920x_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/include/machdep.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/files.sa11x0#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/sa11x0_io.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.ep80219#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.i80219#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.i80321#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.iq31244#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/obio_space.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i8134x/obio_space.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/files.ixp425#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/ixp425/ixp425_space.c#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/Makefile.arm#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/conf/files#5 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/igb/if_igb.c#3 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/dev/mpt/mpt.c#3 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/kern/kern_umtx.c#3 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/include/asm.h#2 integrate .. //depot/projects/trustedbsd/audit_mac/src/sys/powerpc/psim/openpic_iobus.c#3 integrate Differences ... ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/arm/machdep.c#3 (text+ko) ==== @@ -43,8 +43,10 @@ */ #include "opt_compat.h" +#include "opt_ddb.h" + #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.29 2008/03/16 10:58:02 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.30 2008/04/03 16:44:49 imp Exp $"); #include #include @@ -101,6 +103,11 @@ int _min_memcpy_size = 0; int _min_bzero_size = 0; +extern int *end; +#ifdef DDB +extern vm_offset_t ksym_start, ksym_end; +#endif + void sendsig(catcher, ksi, mask) sig_t catcher; @@ -631,3 +638,53 @@ pcb->un_32.pcb32_lr = tf->tf_usr_lr; pcb->un_32.pcb32_sp = tf->tf_usr_sp; } + +/* + * Fake up a boot descriptor table + */ +vm_offset_t +fake_preload_metadata(void) +{ +#ifdef DDB + vm_offset_t zstart = 0, zend = 0; +#endif + vm_offset_t lastaddr; + int i = 0; + static uint32_t fake_preload[35]; + + fake_preload[i++] = MODINFO_NAME; + fake_preload[i++] = strlen("elf kernel") + 1; + strcpy((char*)&fake_preload[i++], "elf kernel"); + i += 2; + fake_preload[i++] = MODINFO_TYPE; + fake_preload[i++] = strlen("elf kernel") + 1; + strcpy((char*)&fake_preload[i++], "elf kernel"); + i += 2; + fake_preload[i++] = MODINFO_ADDR; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = KERNVIRTADDR; + fake_preload[i++] = MODINFO_SIZE; + fake_preload[i++] = sizeof(uint32_t); + fake_preload[i++] = (uint32_t)&end - KERNVIRTADDR; +#ifdef DDB + if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { + fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); + fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; + fake_preload[i++] = sizeof(vm_offset_t); + fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); + lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); + zend = lastaddr; + zstart = *(uint32_t *)(KERNVIRTADDR + 4); + ksym_start = zstart; + ksym_end = zend; + } else +#endif + lastaddr = (vm_offset_t)&end; + fake_preload[i++] = 0; + fake_preload[i] = 0; + preload_metadata = (void *)fake_preload; + + return (lastaddr); +} ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/at91/kb920x_machdep.c#2 (text) ==== @@ -44,11 +44,10 @@ */ #include "opt_msgbuf.h" -#include "opt_ddb.h" #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.28 2007/12/23 23:31:27 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.30 2008/04/03 16:44:49 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -187,12 +186,6 @@ } }; -#define SDRAM_START 0xa0000000 - -#ifdef DDB -extern vm_offset_t ksym_start, ksym_end; -#endif - static long ramsize(void) { @@ -257,62 +250,18 @@ initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; - int loop; + int loop, i; u_int l1pagetable; vm_offset_t freemempos; vm_offset_t afterkern; - int i; - uint32_t fake_preload[35]; uint32_t memsize; vm_offset_t lastaddr; -#ifdef DDB - vm_offset_t zstart = 0, zend = 0; -#endif - - i = 0; set_cpufuncs(); - - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNVIRTADDR; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNVIRTADDR; -#ifdef DDB - if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); - lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); - zend = lastaddr; - zstart = *(uint32_t *)(KERNVIRTADDR + 4); - ksym_start = zstart; - ksym_end = zend; - } else -#endif - lastaddr = (vm_offset_t)&end; - - fake_preload[i++] = 0; - fake_preload[i] = 0; - preload_metadata = (void *)fake_preload; - - + lastaddr = fake_preload_metadata(); pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); -#define KERNEL_TEXT_BASE (KERNBASE) freemempos = (lastaddr + PAGE_MASK) & ~PAGE_MASK; /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ @@ -368,7 +317,7 @@ pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x100000, &kernel_pt_table[KERNEL_PT_KERN + i]); pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, - (((uint32_t)(lastaddr) - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), + (((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - 1)); ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/include/machdep.h#2 (text+ko) ==== @@ -1,15 +1,15 @@ /* $NetBSD: machdep.h,v 1.7 2002/02/21 02:52:21 thorpej Exp $ */ -/* $FreeBSD: src/sys/arm/include/machdep.h,v 1.2 2005/02/26 18:59:01 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/include/machdep.h,v 1.3 2008/04/03 16:44:49 imp Exp $ */ #ifndef _MACHDEP_BOOT_MACHDEP_H_ #define _MACHDEP_BOOT_MACHDEP_H_ /* misc prototypes used by the many arm machdeps */ -void halt (void); -void data_abort_handler (trapframe_t *); -void prefetch_abort_handler (trapframe_t *); -void undefinedinstruction_bounce (trapframe_t *); - void arm_lock_cache_line(vm_offset_t); +vm_offset_t fake_preload_metadata(void); +void halt(void); +void data_abort_handler(trapframe_t *); +void prefetch_abort_handler(trapframe_t *); +void undefinedinstruction_bounce(trapframe_t *); #endif /* !_MACHINE_MACHDEP_H_ */ ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/assabet_machdep.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.22 2007/11/05 11:36:10 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.23 2008/04/03 16:44:50 imp Exp $"); #include "opt_md.h" @@ -217,58 +217,25 @@ u_int l1pagetable; vm_offset_t freemempos; vm_offset_t lastalloced; + vm_offset_t lastaddr; vm_size_t pt_size; - int i = 0; - uint32_t fake_preload[35]; uint32_t memsize = 32 * 1024 * 1024; sa1110_uart_vaddr = SACOM1_VBASE; boothowto = RB_VERBOSE | RB_SINGLE; cninit(); set_cpufuncs(); - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNBASE; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNBASE; - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("md root") + 1; - strcpy((char*)&fake_preload[i++], "md root"); - i += 1; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("md_image") + 1; - strcpy((char*)&fake_preload[i++], "md_image"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = MDROOT_ADDR; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = MD_ROOT_SIZE * 1024; - fake_preload[i++] = 0; - fake_preload[i] = 0; - preload_metadata = (void *)fake_preload; - + lastaddr = fake_reload_metadata(); physmem = memsize / PAGE_SIZE; pc = &__pcpu; pcpu_init(pc, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); physical_start = (vm_offset_t) KERNBASE; - physical_end = (vm_offset_t) &end; + physical_end = lastaddr; physical_freestart = (((vm_offset_t)physical_end) + PAGE_MASK) & ~PAGE_MASK; md_addr.pv_va = md_addr.pv_pa = MDROOT_ADDR; -#define KERNEL_TEXT_BASE (KERNBASE + 0x00040000) - kerneldatasize = (u_int32_t)&end - (u_int32_t)KERNEL_TEXT_BASE; + kerneldatasize = (u_int32_t)&end - (u_int32_t)KERNVIRTADDR; symbolsize = 0; freemempos = (vm_offset_t)round_page(physical_freestart); memset((void *)freemempos, 0, 256*1024); @@ -348,7 +315,8 @@ pmap_link_l2pt(l1pagetable, KERNEL_VM_BASE + loop * 0x00100000, &kernel_pt_table[KERNEL_PT_VMDATA + loop]); pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, - ((uint32_t)&end - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, + PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); @@ -403,8 +371,6 @@ set_stackptr(PSR_UND32_MODE, undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); - - /* * We must now clean the cache again.... * Cleaning may be done by reading new data to displace any @@ -417,7 +383,6 @@ */ cpu_idcache_wbinv_all(); - bootverbose = 1; /* Set stack for exception handlers */ @@ -443,8 +408,7 @@ dump_avail[3] = phys_avail[3] = 0; mutex_init(); - pmap_bootstrap(freemempos, - 0xd0000000, &kernel_l1pt); + pmap_bootstrap(freemempos, 0xd0000000, &kernel_l1pt); /* Do basic tuning, hz etc */ init_param1(); ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/files.sa11x0#2 (text+ko) ==== @@ -1,4 +1,5 @@ -# $FreeBSD: src/sys/arm/sa11x0/files.sa11x0,v 1.3 2007/12/02 13:12:21 cognet Exp $ +# $FreeBSD: src/sys/arm/sa11x0/files.sa11x0,v 1.4 2008/04/03 18:22:07 raj Exp $ +arm/arm/bus_space_generic.c standard arm/arm/cpufunc_asm_sa1.S standard arm/arm/cpufunc_asm_sa11x0.S standard arm/sa11x0/assabet_machdep.c optional assabet ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/sa11x0/sa11x0_io.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.10 2006/11/20 13:21:02 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.11 2008/04/03 18:22:07 raj Exp $"); #include #include #include @@ -58,6 +58,7 @@ /* Proto types for all the bus_space structure functions */ +bs_protos(generic); bs_protos(sa11x0); /* Declare the sa11x0 bus space tag */ @@ -67,16 +68,16 @@ NULL, /* mapping/unmapping */ - sa11x0_bs_map, - sa11x0_bs_unmap, - sa11x0_bs_subregion, + generic_bs_map, + generic_bs_unmap, + generic_bs_subregion, /* allocation/deallocation */ - sa11x0_bs_alloc, - sa11x0_bs_free, + generic_bs_alloc, + generic_bs_free, /* barrier */ - sa11x0_bs_barrier, + generic_bs_barrier, /* read (single) */ sa11x0_bs_r_1, @@ -132,118 +133,4 @@ NULL, }; -/* bus space functions */ - -int -sa11x0_bs_map(t, bpa, size, cacheable, bshp) - void *t; - bus_addr_t bpa; - bus_size_t size; - int cacheable; - bus_space_handle_t *bshp; -{ - u_long startpa, endpa, pa; - vm_offset_t va; - pt_entry_t *pte; - const struct pmap_devmap *pd; - - if ((pd = pmap_devmap_find_pa(bpa, size)) != NULL) { - /* Device was statically mapped. */ - *bshp = pd->pd_va + (bpa - pd->pd_pa); - return 0; - } - - startpa = trunc_page(bpa); - endpa = round_page(bpa + size); - - /* XXX use extent manager to check duplicate mapping */ - - va = kmem_alloc(kernel_map, endpa - startpa); - if (! va) - return(ENOMEM); - - *bshp = (bus_space_handle_t)(va + (bpa - startpa)); - - for(pa = startpa; pa < endpa; pa += PAGE_SIZE, va += PAGE_SIZE) { - pmap_kenter(va, pa); - pte = vtopte(va); - if (cacheable == 0) { - *pte &= ~L2_S_CACHE_MASK; - PTE_SYNC(pte); - } - } - return(0); -} - -int -sa11x0_bs_alloc(t, rstart, rend, size, alignment, boundary, cacheable, - bpap, bshp) - void *t; - bus_addr_t rstart, rend; - bus_size_t size, alignment, boundary; - int cacheable; - bus_addr_t *bpap; - bus_space_handle_t *bshp; -{ - panic("sa11x0_alloc(): Help!"); -} - - -void -sa11x0_bs_unmap(t, h, size) - void *t; - bus_space_handle_t h; - bus_size_t size; -{ - vm_offset_t va, endva; - - if (pmap_devmap_find_va((vm_offset_t)t, size) != NULL) { - /* Device was statically mapped; nothing to do. */ - return; - } - - va = trunc_page((vm_offset_t)t); - endva = round_page((vm_offset_t)t + size); - - while (va < endva) { - pmap_kremove(va); - va += PAGE_SIZE; - } - kmem_free(kernel_map, va, endva - va); -} - -void -sa11x0_bs_free(t, bsh, size) - void *t; - bus_space_handle_t bsh; - bus_size_t size; -{ - - panic("sa11x0_free(): Help!"); - /* sa11x0_unmap() does all that we need to do. */ -/* sa11x0_unmap(t, bsh, size);*/ -} - -int -sa11x0_bs_subregion(t, bsh, offset, size, nbshp) - void *t; - bus_space_handle_t bsh; - bus_size_t offset, size; - bus_space_handle_t *nbshp; -{ - - *nbshp = bsh + offset; - return (0); -} - -void -sa11x0_bs_barrier(t, bsh, offset, len, flags) - void *t; - bus_space_handle_t bsh; - bus_size_t offset, len; - int flags; -{ -/* NULL */ -} - /* End of sa11x0_io.c */ ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 (text+ko) ==== @@ -46,10 +46,9 @@ */ #include "opt_msgbuf.h" -#include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.8 2007/11/05 11:36:10 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.9 2008/04/03 16:44:50 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -186,73 +185,26 @@ } }; -#ifdef DDB -extern vm_offset_t ksym_start, ksym_end; -#endif - extern vm_offset_t xscale_cache_clean_addr; void * initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; - int loop; + int loop, i; u_int l1pagetable; vm_offset_t freemempos; vm_offset_t freemem_pt; vm_offset_t afterkern; vm_offset_t freemem_after; vm_offset_t lastaddr; -#ifdef DDB - vm_offset_t zstart = 0, zend = 0; -#endif - int i = 0; - uint32_t fake_preload[35]; uint32_t memsize, memstart; - i = 0; - set_cpufuncs(); - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNBASE + 0x00200000; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNBASE - 0x00200000; -#ifdef DDB - if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); - lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); - zend = lastaddr; - zstart = *(uint32_t *)(KERNVIRTADDR + 4); - ksym_start = zstart; - ksym_end = zend; - } else -#endif - lastaddr = (vm_offset_t)&end; - - fake_preload[i++] = 0; - fake_preload[i] = 0; - preload_metadata = (void *)fake_preload; - - + lastaddr = fake_preload_metadata(); pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); -#define KERNEL_TEXT_BASE (KERNBASE + 0x00200000) freemempos = 0xa0200000; /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ @@ -437,9 +389,6 @@ /* Enable MMU, I-cache, D-cache, write buffer. */ arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); - - - pmap_curmaxkvaddr = afterkern + PAGE_SIZE; dump_avail[0] = 0xa0000000; dump_avail[1] = 0xa0000000 + memsize; ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.ep80219#2 (text+ko) ==== @@ -1,8 +1,9 @@ -#$FreeBSD: src/sys/arm/xscale/i80321/files.ep80219,v 1.1 2006/08/24 23:51:28 cognet Exp $ +#$FreeBSD: src/sys/arm/xscale/i80321/files.ep80219,v 1.2 2008/04/03 18:22:07 raj Exp $ # # # EP80219 Board Specific # +arm/arm/bus_space_generic.c standard arm/xscale/i80321/iq80321.c standard arm/xscale/i80321/ep80219_machdep.c standard arm/xscale/i80321/obio.c standard ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.i80219#2 (text+ko) ==== @@ -1,7 +1,8 @@ -#$FreeBSD: src/sys/arm/xscale/i80321/files.i80219,v 1.1 2006/08/24 23:51:28 cognet Exp $ +#$FreeBSD: src/sys/arm/xscale/i80321/files.i80219,v 1.2 2008/04/03 18:22:07 raj Exp $ # # IOP Specific # +arm/arm/bus_space_generic.c standard arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard arm/xscale/i80321/i80321.c standard ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.i80321#2 (text+ko) ==== @@ -1,4 +1,5 @@ -#$FreeBSD: src/sys/arm/xscale/i80321/files.i80321,v 1.3 2005/10/03 14:19:55 cognet Exp $ +#$FreeBSD: src/sys/arm/xscale/i80321/files.i80321,v 1.4 2008/04/03 18:22:07 raj Exp $ +arm/arm/bus_space_generic.c standard arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard arm/xscale/i80321/i80321.c standard ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/files.iq31244#2 (text+ko) ==== @@ -1,4 +1,5 @@ -#$FreeBSD: src/sys/arm/xscale/i80321/files.iq31244,v 1.2 2005/01/15 18:55:22 cognet Exp $ +#$FreeBSD: src/sys/arm/xscale/i80321/files.iq31244,v 1.3 2008/04/03 18:22:07 raj Exp $ +arm/arm/bus_space_generic.c standard arm/xscale/i80321/iq80321.c standard arm/xscale/i80321/iq31244_machdep.c standard arm/xscale/i80321/iq31244_7seg.c optional iq31244_7seg ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 (text+ko) ==== @@ -46,10 +46,9 @@ */ #include "opt_msgbuf.h" -#include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.29 2007/11/05 11:36:10 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.30 2008/04/03 16:44:50 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -187,73 +186,26 @@ #define SDRAM_START 0xa0000000 -#ifdef DDB -extern vm_offset_t ksym_start, ksym_end; -#endif - extern vm_offset_t xscale_cache_clean_addr; void * initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; - int loop; + int loop, i; u_int l1pagetable; vm_offset_t freemempos; vm_offset_t freemem_pt; vm_offset_t afterkern; vm_offset_t freemem_after; vm_offset_t lastaddr; -#ifdef DDB - vm_offset_t zstart = 0, zend = 0; -#endif - int i; - uint32_t fake_preload[35]; uint32_t memsize, memstart; - i = 0; - set_cpufuncs(); - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNBASE + 0x00200000; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNBASE - 0x00200000; -#ifdef DDB - if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); - lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); - zend = lastaddr; - zstart = *(uint32_t *)(KERNVIRTADDR + 4); - ksym_start = zstart; - ksym_end = zend; - } else -#endif - lastaddr = (vm_offset_t)&end; - - fake_preload[i++] = 0; - fake_preload[i] = 0; - preload_metadata = (void *)fake_preload; - - + lastaddr = fake_preload_metadata(); pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); -#define KERNEL_TEXT_BASE (KERNBASE + 0x00200000) freemempos = 0xa0200000; /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i80321/obio_space.c#2 (text+ko) ==== @@ -40,23 +40,15 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/obio_space.c,v 1.4 2006/11/20 13:21:02 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/obio_space.c,v 1.5 2008/04/03 18:22:07 raj Exp $"); #include #include #include -#include - -#include -#include -#include -#include - #include /* Prototypes for all the bus_space structure functions */ -bs_protos(obio); bs_protos(generic); bs_protos(generic_armv4); @@ -69,16 +61,16 @@ (void *) 0, /* mapping/unmapping */ - obio_bs_map, - obio_bs_unmap, - obio_bs_subregion, + generic_bs_map, + generic_bs_unmap, + generic_bs_subregion, /* allocation/deallocation */ - obio_bs_alloc, - obio_bs_free, + generic_bs_alloc, + generic_bs_free, /* barrier */ - obio_bs_barrier, + generic_bs_barrier, /* read (single) */ generic_bs_r_1, @@ -134,92 +126,3 @@ NULL, NULL, }; - -int -obio_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags, - bus_space_handle_t *bshp) -{ - const struct pmap_devmap *pd; - vm_paddr_t startpa, endpa, pa, offset; - vm_offset_t va; - pt_entry_t *pte; - - if ((pd = pmap_devmap_find_pa(bpa, size)) != NULL) { - /* Device was statically mapped. */ - *bshp = pd->pd_va + (bpa - pd->pd_pa); - return (0); - } - - endpa = round_page(bpa + size); - offset = bpa & PAGE_MASK; - startpa = trunc_page(bpa); - - va = kmem_alloc(kernel_map, endpa - startpa); - if (va == 0) - return (ENOMEM); - - *bshp = va + offset; - - for (pa = startpa; pa < endpa; pa += PAGE_SIZE, va += PAGE_SIZE) { - pmap_kenter(va, pa); - pte = vtopte(va); - *pte &= ~L2_S_CACHE_MASK; - PTE_SYNC(pte); - } - - return (0); -} - -int -obio_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend, bus_size_t size, - bus_size_t alignment, bus_size_t boundary, int flags, bus_addr_t *bpap, - bus_space_handle_t *bshp) -{ - - panic("obio_bs_alloc(): not implemented"); -} - - -void -obio_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size) -{ - vm_offset_t va, endva; - - if (pmap_devmap_find_va((vm_offset_t)t, size) != NULL) { - /* Device was statically mapped; nothing to do. */ - return; - } - - endva = round_page((vm_offset_t)t + size); - va = trunc_page((vm_offset_t)t); - - while (va < endva) { - pmap_kremove(va); - va += PAGE_SIZE; - } - kmem_free(kernel_map, va, endva - va); -} - -void -obio_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size) -{ - - panic("obio_bs_free(): not implemented"); -} - -int -obio_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset, - bus_size_t size, bus_space_handle_t *nbshp) -{ - - *nbshp = bsh + offset; - return (0); -} - -void -obio_bs_barrier(void *t, bus_space_handle_t bsh, bus_size_t offset, - bus_size_t len, int flags) -{ - - /* Nothing to do. */ -} ==== //depot/projects/trustedbsd/audit_mac/src/sys/arm/xscale/i8134x/crb_machdep.c#3 (text+ko) ==== @@ -46,10 +46,9 @@ */ #include "opt_msgbuf.h" -#include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.4 2008/03/12 10:11:55 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.5 2008/04/03 16:44:50 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,11 +124,7 @@ extern u_int undefined_handler_address; struct pv_addr kernel_pt_table[NUM_KERNEL_PTS]; - -extern void *_end; - extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; @@ -189,73 +184,26 @@ #define SDRAM_START 0x00000000 -#ifdef DDB -extern vm_offset_t ksym_start, ksym_end; -#endif - extern vm_offset_t xscale_cache_clean_addr; void * initarm(void *arg, void *arg2) { struct pv_addr kernel_l1pt; - int loop; + int loop, i; u_int l1pagetable; vm_offset_t freemempos; vm_offset_t freemem_pt; vm_offset_t afterkern; vm_offset_t freemem_after; vm_offset_t lastaddr; -#ifdef DDB - vm_offset_t zstart = 0, zend = 0; -#endif - int i; - uint32_t fake_preload[35]; uint32_t memsize, memstart; - i = 0; - set_cpufuncs(); - fake_preload[i++] = MODINFO_NAME; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_TYPE; - fake_preload[i++] = strlen("elf kernel") + 1; - strcpy((char*)&fake_preload[i++], "elf kernel"); - i += 2; - fake_preload[i++] = MODINFO_ADDR; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNBASE + 0x00200000; - fake_preload[i++] = MODINFO_SIZE; - fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNBASE - 0x00200000; -#ifdef DDB - if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4); - fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM; - fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8); - lastaddr = *(uint32_t *)(KERNVIRTADDR + 8); - zend = lastaddr; - zstart = *(uint32_t *)(KERNVIRTADDR + 4); - ksym_start = zstart; - ksym_end = zend; - } else -#endif >>> TRUNCATED FOR MAIL (1000 lines) <<<