PERFORCE change 139301 for review
Wayne Salamon
wsalamon at FreeBSD.org
Thu Apr 3 22:04:34 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=139301
Change 139301 by wsalamon at 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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/proc.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
#include <sys/queue.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
-#include <machine/pcb.h>
-
-#include <vm/vm.h>
-#include <vm/pmap.h>
-#include <vm/vm_kern.h>
-#include <vm/vm_extern.h>
-
#include <machine/bus.h>
/* 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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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) <<<
More information about the p4-projects
mailing list