On Mon, 30 Dec 2002 21:21:22 +0100 (CET), Jimi wrote:
>On Mon, 30 Dec 2002 21:03:30 +0100 (MEZ), Ruediger Ihle wrote:

>>> Memory objects in this so called linear address
>>>space are addressable from any context by means of 
>>>the DOS32FLATDS selector;
>>Are you sure ? AFAIK, DOS32FLATDS requires the code to
>>run at ring 0. I seem to remember, that I had to move some
>>INIT code to INITCOMPLETE in order to use this approach.

True, but why bother at all? As I said, if some weird driver *requires*
addressability of parts of this memory at some odd instance of time it
may use the LinToGDTSelector device helper service. Besides that,
INITCOMPLETE is the perfect place to do initialization stuff.

Think about this stuff and get it! Linear addresses have these
properties:

1) the memory pointed to is *accessible* in all Ring-0 contexts by
means of the the flat selector.
2) the address is *valid* in all, even Ring-3 contexts. In Ring-3 it
needs some mapping to make it *accessible*.

>Yes I think that's right. Otherwise there would have to be 2 selectors. One for 
>Ring-0, the other one for 
>Ring-3. For god-sake, I didn't start changing the APIs yet :-) This means I really 
>have to do this 512 
>GDT-selectors stuff.

Three times NO! You don't need such kind of things. And if you insist
on a GDT selector, why don't you setup a single big one?

>>>So, instead of virtual (GDT based) pointer switch to linear (32-bit)
>>>ones and *expose* them to clients. If a client is so stupid to require
>>>a virtual mapping then it can do it itself.
>>Why is this mapping necessary at all ? Wasn't the result of some 
>>ealier discussion to copy out the data ?

You are true, copy out was the solution wee agreed on. This makes
things even easier.

Ciao,
  Dani


-----------
To unsubscribe yourself from this list, send the following message
to [EMAIL PROTECTED]

     unsubscribe acpi-os2
     end

Reply via email to