Hi everyone!

I'm just asking myself at what limit I should put on the SUB-Block area.
SUB-Block area contains additional information to devices like e.g. device-name (for 
PnP and USB), the 
device proposals (Resource requirements) and extra information like for bridges and so 
on.

One SUB-Block Allocation entry is 32 bytes and I thought about limiting to 32768 bytes 
in total, which means 
1024 SUB-Block segments (total limit 64MB, which is insane size).

The limit on devices is 8192 and this would make 8k SUB-Block space per device.
The problem with that limit is that I would need to allocate 2048 (!) GDT-selectors, 
because I need to map the 
space for Ring-0 *and* Ring-3 and that's the whole problem.

I think about limiting to 16 or 32MB, resulting in 2k or 4k SUB-Block average possible 
size per device. 
SUB-Block minimum size is 512 bytes and most of the time that should be enough. Often 
devices do not even 
need a SUB-Block at all.

What do you think? Even 512 GDT-selectors would be still a huge requirement, but there 
is nothing to work 
around this. Enlarging (which means allocating) is done run-time, which means it's 
able to enlarge the area 
during system run, so GCONFIG starts with one 64k segment for SUB-Blocks and one 64k 
segment for 
BASE-Blocks, but the GDT selectors need to get allocated at init time. (BASE-Blocks 
may use up to 8 
segments, which means 16 GDT-Selectors).

A practical example: My system currently has 27 BASE-Blocks (which means 27 devices), 
all of those devices 
have SUB-Block(s), but they are all below 512 bytes, which would mean around 15k 
actual memory 
requirement for the data, total actual detection area size is 4-5k (!!).

cu, Kiewitz


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

     unsubscribe acpi-os2
     end

Reply via email to