[vbox-dev] some questions about memory
Aleks2071 at yandex.ru
Mon May 3 10:37:32 GMT 2010
I have some questions about VBox memory manager...
can you send me any internal development documents or schemes?
1. If my machine supports Intel - VT technology, then source folder "VMM" will be using in compilation.
And if my machine doesn't support Intel-VT technology, folder "VMM" will not be using in compilation.
is it right? all sources in folder "VMM" are working with hardware virtualization and have internal memory manager, aren't they?
2. What the difference between "cpu_physical_memory_rw()" and "cpu_physical_memory_write_rom()"?
Can I use cpu_physical_memory_write_rom() for rewriting BIOS of virtual machine?
3. What do you mean, when memory functions named with "-dirty", for example "cpu_physical_memory_is_dirty(ram_addr_t addr)" ?
what is "dirty bit"? Does it mean that any task use this physical address?
4. When target machine doesn't support hardware virtualization, VBox using binary translation.
What does it change, if code using memory access? Does VBox exchange every command "mov" or recalculate addresses?
How is it organized that VBox execute changed code, but guest OS doesn't look it?
5. I want read and write virtual memory of process on guest OS, working on VBox. What shold I do? I don't want use guest addition, they are not crossplatform.
This is my plan:
1. handle switch_tss() call
2. view information about task, write this info in my list.
3. view my list of tasks, choose one task, load tss register for it and use cpu_memory_rw_debug().
How can I get Virtual memory handle of task?
For example: I 've catch one task, stopped machine. I want read one byte from 0xB700 virtual addres in current task on guest machine.
what should I do? I know, that cpu_memory_rw_debug() reads\writes physical memory, but I want access virtual... How can I translate the adresses?
May be sources include function, which can read\write virtual memory? I did not find it...
thank you for answers.
and sorry fo my bad English =\
More information about the vbox-dev