Hello, all. On i386 multiboot requires for paging to be disabled and on amd64 it will be required to map P=V so physical and virtual adresses are the same. However on MIPS it's inadequate to ask for bootloader to set such a mode because to do so one would need to go into mode with TLB activated and have TLB refill routines. It's much easier to run payload in "kernel mode" which is easy to use but is not P=V. I suppose on some platforms it's even not possible to have such an easy mapping at all (especially openfirmware ones). So we have to decide which values will be used. I think that it should be virtual for a simple reason that it allows early startup to directly access the data even if it has no way of knowing what the v2p map is or before it setup its own paging table. Then when OS is initialising its own v2p map it should be able to remap virtual addresses to physical ones. The only problem is that some coders prefer to create a new v2p map in asm code and coding v2p converter in asm may be painful. I think the same applies for MMIO too. Possible alternatives: - supply physical addresses - supply both virtual and physical addresses. OS is able to choose the one it wants
-- Regards Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel