Hi haiku-development, I'm a graduate student of Shanghai University. I'm 4 years Linux user. I have about 2 years experience with Linux kernel driver development and 3 years experience with Linux c/c++ software development. I have wrote various embedded devices drivers such as ethernet, gpio, uart, ehci etc. I'm interested in adding USB 3.0 support to haiku in this year's GSOC. I think the main work is implementing xhci driver. I have checked out the haiku source code. From the source code It seems that haiku is a macro kernel just like Linux? From my experience, I need the following api: *lock: such as mutex and spinlock *memory. including allocation and mapping, especially allocate physical continuous memory and how to map device register space into kernel land *interrupt: how to install ISR handler *delay: busy wait and relaxed wait *schedule work to run in the future To make development easy I also want to know how unload and load module. I'm a newbie in haiku kernel world, would you please give me some documentations about these kernel API, a book similar to <linux device drivers> will be very helpful. I only found some topics from here http://haiku-os.org/legacy-docs/bebook/index.html, but it is marked as legacy, so are they out of date? especially http://haiku-os.org/legacy-docs/bebook/DeviceDrivers.html Thanks and Best Regards, Jian