little kernel question

Francois-Rene Rideau fare@tunes.org
Sat Feb 21 20:36:22 CET 2004


On Sat, Feb 21, 2004 at 08:02:44PM +0100, Oleg Gusev wrote:
>> Hum. I see that in your kernel, you commented out
>> George's avoidance of the first two megabytes.
>> Did you resolve all the problems that George used to experience?
>
> You need to look deeper. Actually George has commented
> out "dead-memory" himself. The reason for is that he
> has set the TEXTADDR high enough, protecting wince
> stuff, BTW.
I don't understand how this works.
TEXTADDR is just the address at which the kernel is loaded.

IIUC, the zones of available memory is declared in
arch/arm/mach-sa1100/jornada820.c # fixup_jornada820 # SET_BANK(...)
And nowhere does it exclude WinCE memory --
the "dead memory" declaration used to do it.
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?

George, can you help unconfuse us, please?

PS: IIUC, there is an additional 1MB of memory somewhere for the external VGA;
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?

> Can you really prove that it is there ?
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, tho).
Maybe one of your init operations disables it -- I'll test and tell you.

PS: I peeked george's j820_keyb.c, found the obvious thinkos that annoyed me
in the keymap, and fixed them. That won't solve the key-that-hangs-linux
problem (will it?), but at least the keyboard mapping will be correct.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
[  TUNES project for a Free Reflective Computing System  | http://tunes.org  ]
Alan Turing thought about criteria to settle the question of whether
machines can think, a question of which we now know that it is about
as relevant as the question of whether submarines can swim.
		-- Dijkstra
-------------- next part --------------
--- kernel.oleg/drivers/char/j820_keyb.c	2004-02-21 19:18:22.000000000 +0100
+++ kernel.fare/drivers/char/j820_keyb.c	2004-02-21 20:33:33.000000000 +0100
@@ -37,24 +37,24 @@
 70-7F:  Off
 */
 
-
+/* I fixed George's keymap, and put KP_mult in unmapped entries. -- fare */
 static char kbmap[128] = {
-/* 00-07: */   0, 59,  2, 16, 30, 44, 15,  0,
-/* 08-0F: */   0, 60,  3, 17, 31, 45, 42,  0,
-/* 10-17: */   0, 61,  4, 18, 32, 46,  0, 56,
-/* 18-1F: */   0, 62,  5, 19, 33, 47,  0, 55,
-/* 20-27: */   0, 63,  6, 20, 34, 48,  0,  0,
-/* 28-2F: */  57, 64,  7, 21, 35, 49,  0,  0,
-/* 30-37: */   0, 65,  8, 22, 36, 50, 51,  0,
-/* 38-3F: */  83, 66,  9, 23, 37, 39, 52,  0,
-/* 40-47: */   0, 67, 10, 24, 38, 41, 53,  8,
-/* 48-4F: */   2, 68, 11, 25, 26, 27, 28,  4,
-/* 50-57: */   6,  0, 12, 13, 14, 43, 54,  0,
-/* 58-5F: */   0,  0,  0,  0,  0,  0,  0,  0,
-/* 60-67: */   1,  0,  0,  0,  0,  0,  0,  0,
-/* 68-6F: */  97,  0,  0,  0,  0,  0,  0,  0,
-/* 70-77: */   0,  0,  0,  0,  0,  0,  0,  0,
-/* 78-7F: */   0,  0,  0,  0,  0,  0,  0,  0
+/* 00-07: */  55, 59,  2, 16, 30, 44, 15, 55,
+/* 08-0F: */  55, 60,  3, 17, 31, 45, 42, 55,
+/* 10-17: */  55, 61,  4, 18, 32, 46, 55, 56,
+/* 18-1F: */  55, 62,  5, 19, 33, 47, 55, 41,
+/* 20-27: */  55, 63,  6, 20, 34, 48, 55, 55,
+/* 28-2F: */  57, 64,  7, 21, 35, 49, 55, 55,
+/* 30-37: */  55, 65,  8, 22, 36, 50, 51, 55,
+/* 38-3F: */  83, 66,  9, 23, 37, 39, 52, 55,
+/* 40-47: */  55, 67, 10, 24, 38, 40, 53,103,
+/* 48-4F: */ 108, 68, 11, 25, 26, 27, 28,105,
+/* 50-57: */ 106, 55, 12, 13, 14, 43, 54, 55,
+/* 58-5F: */  55, 55, 55, 55, 55, 55, 55, 55,
+/* 60-67: */   1, 55, 55, 55, 55, 55, 55, 55,
+/* 68-6F: */  97, 55, 55, 55, 55, 55, 55, 55,
+/* 70-77: */  55, 55, 55, 55, 55, 55, 55, 55,
+/* 78-7F: */  55, 55, 55, 55, 55, 55, 55, 55
 };
 
 int j820_kbd_setkeycode(unsigned int scancode, unsigned int keycode)


More information about the Jornada820 mailing list