[openbeosnetteam] Re: [openbeos] Re: Mailing lists and network team questions

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Thu, 16 Mar 2006 20:57:09 +0100

Quoting Axel Dörfler:
> We don't have UIOs or even something too similar yet. However, the disk
> architecture is using something like this internally, and I wanted to
> pull that out into the kernel (but this would be physical memory then,
> not virtual).
> The only problem is that we have lots of networking drivers, and we
> should definitely provide a compatibility layer to the FreeBSD stack
> for them - the device API is nothing the stack should have an influence
> on.

That was the plan from start, even for the *BSD port one, that we should
continue to support existing (our or third party ones) network adapter drivers.
I should not be hard to move the current "ethernet" module code into a ported
monolithic FreeBSD core stack code. After all, it's already wrapping any
/dev/net/* Ethernet device into a ifnet_t struct...

> OTOH this is still a bit of an "open area" in the Haiku kernel, since
> BeOS used to lock all user memory that was given into the kernel. That
> way, a read() didn't have to care where the buffer came from (as long
> as it was executed in the same thread).
> In Haiku, these accesses are currently unsafe, and could potentially
> crash the kernel.

And it could explain at least why on some case our stack could crash, as the
current code is still assuming the BeOS way to lock the whole caller user
address space...

- Philippe

Other related posts: