Re: Things I can do before MMU is turned on

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux