[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Things I can do before MMU is turned on
Hi...
> This is a little offtopic but ...
Not sure if I can handle these things :)
> Allowed
> =======
> 1) Local variables
yes, they are referenced by offset of ebp/esp IIRC
> 2) Function calls using function name (right?)
hm, relocation usually replace function calls with absolute function
call, at least on x86.
> 3) if-then-else
that will be translated to jmp <label> IIRC..and that means relative
jump. But not sure after relocation.
> 4) for / while / do-while
same as (3) IMHO
> Not Allowed
> ===========
> 1) Accessing global variables
IIRC yes. .bss and .data is usually referenced with absolute address
> 2) Function call using function pointers (why?)
well, maybe because it can refer anywhere in valid address space, thus
it uses absolute address.
> 3) Switch-case (why?)
usually it become jump table, but not sure about the addresses.
> Any thing else that can be added to the "Not allowed" list?
anything that could possibly jump beyond the defined "address space"?
If I understand correctly, without MMU... there is per task unique
address space, thus it's up to you to define the boundary, correct?
regards,
Mulyadi.
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ