little kernel question

Oleg Gusev
Sat Feb 21 21:01:26 CET 2004

> I don't understand how this works.
> TEXTADDR is just the address at which the kernel is loaded.

arch/arm/mm/init.c reserves memory below TEXTADDR.
There is also a comment that explains what for.

> So if we didn't somehow disable the 16-bit 1 kHz clock at 0xc005c080
> we better keep excluding it with a statement in jornada820_init
> request_mem_region (0xc005c000, 0x1000, "memory fux0red by 1 kHz clock");
> shouldn't we?

I vote for character device /proc/driver/fux0red_rtc if you will write it :)
The most clean way to be polite with wince is to reduce its
data memory to an absolute minimum, mark the pages it uses
(i guess they are continuous in physical memory) and transfer this
info through bootloader parameter (reallykeepwincemem=0xdead,0xbeef)

>PS: IIUC, there is an additional 1MB of memory somewhere for the external 
> is it taken from the same memory bank that is already declared,
> or is it in another bank? In the latter case, shouldn't we declare it?

It's at 0xc0000000 offset from SA1101_BASE (i.e. DRAM bank 3),
but it is a big pain to read from it. IMHO even wince keeps the copy 
of framebuffer in main RAM (i could not boot after enabling 1024x768 VGA
output). So, leave it to the sa1101fb driver to take care of that memory
(once it is written). And it is 1Mx16=2MB RAM, not 1MB.

>Booting with blob, I can prove it's setup by WinCE,
>and it's a 1kHz 16-bit counter (I haven't tried setting the 16 high bit, 
>Maybe one of your init operations disables it -- I'll test and tell you.

Does blob reset sa1101 ? I would be surprised if it does. I have not looked
at the code, but probably blob thinks it starts after fresh reset, and sets
only the things he needs.

> PS: I peeked george's j820_keyb.c, found the obvious thinkos that annoyed me
> in the keymap, and fixed them.

IMO, you have put too many 55's. There is an idea what is going on,
but let's wait for George's comment if he could fix the keyboard driver code.
The key hangs the machine because the driver itself is a gross hack ;)


More information about the Jornada820 mailing list