On 12/21/2011 02:09 PM, Zhi Yong Wu wrote: > HI, > > For memory management, i have several questions as below: > > 1.) Why is subpage introduced? what is its goal?
A TLB entry spans one page; a subpage is a way of dispatching accesses through that tlb entry to various memory regions. > 2.) How to render MemoryRegion into one disjoint flatrange list? That > rendering function is a bit difficult to understand. Can anyone simply > explain it? What exactly don't you understand? > > 3.) What are separately the meanings of these flags? such as > IO_MEM_RAM, IO_MEM_ROM, IO_MEM_UNASSIGNED, IO_MEM_*, IO_MEM_ROMD, and > IO_MEM_SUBPAGE. RAM = RAM ROM = ROM UNASSIGNED = nothing handles this range ROMD = ROM when read, device (i.e. callbacks) when written SUBPAGE = dispatch using the lower address bits to obtain final I/O handler. -- error compiling committee.c: too many arguments to function