On 6 August 2012 13:54, Jérôme Duval <korli@xxxxxxxxxxxxxxxx> wrote: > 2012/8/6 Ingo Weinhold <ingo_weinhold@xxxxxx>: > > Rene Gollent wrote: > >> On Mon, Aug 6, 2012 at 8:26 AM, Jérôme Duval <korli@xxxxxxxxxxxxxxxx> > wrote: > >> > I've a question not directly related to your commit. Do you know > >> > whether currently memory allocated through create_area() is always > >> > under the 4GB limit for x86_64 by default? Or is a flag needed? > >> > >> create_area() has a flag to request that, c.f. > >> > http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/bus_managers/usb/Stack.cpp#n303 > > > > Hmph, right, I forget about B_32_BIT_CONTIGUOUS. It also implies > contiguous memory though. > > Thanks to you both for the reply. > > So the flag is at the moment at the USB stack level, whereas some of > USB bus drivers would allow addresses beyond the 32 bit boundary: > probably not uhci and ohci but ehci and xhci would. How can this be > fixed if the memory pool stays at the stack level? > I think only xhci supports 64-bit physical addresses. Rene already changed the stack to use phys_addr_t over addr_t/void* for physical addresses, I guess there just needs to be a way for the *hci modules to indicate to the stack whether they support 64-bit physical addresses when asking it to allocate memory. Thanks, Alex