summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-06-20 23:40:04 +0000
committerimp <imp@FreeBSD.org>2006-06-20 23:40:04 +0000
commit7ac9e2a5c289f30e377beda3e8f8a214c1f5e8dd (patch)
treef1eeb0773cacb45650e0db8cb508f3ac4da8286e /sys/arm/at91
parentc5e80142bb7e178c526c2502b0a98233d44e65ad (diff)
downloadFreeBSD-src-7ac9e2a5c289f30e377beda3e8f8a214c1f5e8dd.zip
FreeBSD-src-7ac9e2a5c289f30e377beda3e8f8a214c1f5e8dd.tar.gz
Compute physmem so we can print it correctly on boot.
Slightly optimize while I'm here.
Diffstat (limited to 'sys/arm/at91')
-rw-r--r--sys/arm/at91/kb920x_machdep.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/arm/at91/kb920x_machdep.c b/sys/arm/at91/kb920x_machdep.c
index da6c6a6..42ce0f8 100644
--- a/sys/arm/at91/kb920x_machdep.c
+++ b/sys/arm/at91/kb920x_machdep.c
@@ -182,10 +182,9 @@ static const struct pmap_devmap kb920x_devmap[] = {
extern vm_offset_t ksym_start, ksym_end;
#endif
-static int
+static long
board_init(void)
{
- uint32_t memsize;
uint32_t *SDRAMC = (uint32_t *)(AT91RM92_BASE + AT91RM92_SDRAMC_BASE);
uint32_t cr, mr;
int banks, rows, cols, bw; /* log2 size */
@@ -196,8 +195,7 @@ board_init(void)
banks = (cr & AT91RM92_SDRAMC_CR_NB_4) ? 2 : 1;
rows = ((cr & AT91RM92_SDRAMC_CR_NR_MASK) >> 2) + 11;
cols = (cr & AT91RM92_SDRAMC_CR_NC_MASK) + 8;
- memsize = 1 << (cols + rows + banks + bw);
- return (memsize);
+ return (1 << (cols + rows + banks + bw));
}
void *
@@ -360,6 +358,8 @@ initarm(void *arg, void *arg2)
cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2));
cninit();
memsize = board_init();
+ physmem = memsize / PAGE_SIZE;
+
/*
* Pages were allocated during the secondary bootstrap for the
* stacks for different CPU modes.
@@ -428,7 +428,7 @@ initarm(void *arg, void *arg2)
phys_avail[3] = 0;
/* Do basic tuning, hz etc */
init_param1();
- init_param2(memsize / PAGE_SIZE);
+ init_param2(physmem);
avail_end = KERNPHYSADDR + memsize - 1;
kdb_init();
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
OpenPOWER on IntegriCloud