[haiku-commits] Re: BRANCH xyzzy-github.x86_64 - src/add-ons/kernel/busses/usb build/jam

  • From: Alex Smith <alex@xxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 6 Aug 2012 14:02:55 +0100

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

Other related posts: