Subject: Re: miniroot on iPAQ?
To: None <port-hpcarm@netbsd.org>
From: Love <lha@stacken.kth.se>
List: port-hpcarm
Date: 09/18/2001 04:02:31
> Has anyone had success using a md miniroot filesystem on the iPAQ? I've
> created a 5MB miniroot image with just the shell there, but I can't seem
> to get the thing to boot if I specify the filesystem image to the
> bootloader:

If I specify some size to the MEMORY_DISK_SIZE, MINIROOTSIZE, my ipaq also
hangs when I boot it on that kernel.

Adding some debug statements and the options DEBUG_BEFOREMMU and
VERBOSE_INIT_ARM my ipaq tells me:

[...]
load link 921 zero clear link 1.
kernel entry address: 0xc0040000
framebuffer: 240x320 type=5 linebytes=0 addr=0x00000000
console = 2
kernsize=0x39502c
Allocating page tables
IRQ stack: p0xc0016000 v0xc0016000
ABT stack: p0xc0017000 v0xc0017000
UND stack: p0xc0018000 v0xc0018000
SVC stack: p0xc0019000 v0xc0019000
Creating L1 page table
Mapping kernel
map_chunk: pa=c0040000 va=c0040000 sz=3d0000 rem=3d0000 acc=1 flg=c
map_chunk: LLLLLLLLLLLLSSSL
Constructing L2 page tables
map_chunk: pa=c0016000 va=c0016000 sz=1000 rem=1000 acc=1 flg=c
map_chunk: P
map_chunk: pa=c0017000 va=c0017000 sz=1000 rem=1000 acc=1 flg=c
map_chunk: P
map_chunk: pa=c0018000 va=c0018000 sz=1000 rem=1000 acc=1 flg=c
map_chunk: P
map_chunk: pa=c0019000 va=c0019000 sz=2000 rem=2000 acc=1 flg=c
map_chunk: PP
map_chunk: pa=c0000000 va=c0000000 sz=4000 rem=4000 acc=1 flg=0
map_chunk: PPPP
mapping IO...map_chunk: pa=e0000000 va=c0020000 sz=8000 rem=8000 acc=1 flg=c
map_chunk: PPPPPPPP
done.
init subsystems: stacks vectors c01c2208 c01c27a4 c01c1e90
undefined pagetable-addr enable-mmu

After that it goes into the brick-emulation mode (quite boring)

So its seems to be the cpufunc_control() in

sys/arch/hpcarm/hpcarm/hpc_machdep.c:
	printf("enable-mmu ");
	/* Enable MMU, I-cache, D-cache, write buffer. */
	cpufunc_control(0x337f, 0x107d);

	printf("console ");

to the the problems, so anyone have a clue what this means ?

I'm compiled a 1.5Y kernel.

Love