On Tue, Mar 3, 2009 at 12:16 PM, Peter Teoh <[email protected]> wrote:
> This is the first time I have seen the word "unity-mapping"......if it
> is your invention....congratulations!!!! U have created a new term.

so you learned a new term today :-). but i agree that it is not
popular, and it confused me at first.

so the more popular one is "identity mapping", right?

that is not my term, but somebody else. I read that on internet somewhere ...

>
> Usually I heard of "identity mapping", "direct mapping", linear
> mapping, vs "non-linear mapping".   The formula is basically
> equivalent to __pa(), and all the different variation:  __va(),
> virt_to_page(), pfn_to_kaddr() etc.   It is all just using a
> straightforward formula.   This is because virtual address and
> physical addr are inter-convertible directly in the ZONE_NORMAL range.
>  But not in the ZONE_HIGH area.   kmalloc() always returned addresses
> in these range.   All the confusing API like pud*, pgd*, pmd*() API
> also hinges on this characteristic to convert directly between
> physical and virtual, or to extract out page frame number, PTE etc
> from the virtual/physical addresses.

OK, so the difference between kmalloc and vmalloc in term of address
they return:
- kmalloc() always return addresses in ZONE_NORMAL
- vmalloc() always returns addresses in ZONE_HIGH

Could you confirm that is correct?

So my question now is: what is ZONE_NORMAL range? I mean from what
address to what address?

Thanks!
H

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to