dwaddington / xdk Goto Github PK
View Code? Open in Web Editor NEWeXokernel Development Kit for Linux
License: GNU Lesser General Public License v2.1
eXokernel Development Kit for Linux
License: GNU Lesser General Public License v2.1
The eXokernel Development Kit is an open source effort to build exokernel capabilities for the Linux operating system. The project was founded on code developed and released by Samsung Research America, Silicon Valley in 2014. -------- History: -------- 30-09-2015: Re-write of PCI configuration space access via PK module. PCI memory mapped resources still through /sys/bus/pci filesystem - this could be improved by putting into pkXXX node. 29-01-2015: Initial version of NVMe SSD driver works on both QEMU and Samsung SSD XS1715 hardware. 20-11-2014: The AHCI test driver now operates without root permissions. This is quite a milestone since running device drivers as non-priviledged processes is a cornerstone of the exokernel concept. Root permission is needed to load the kernel module and also to "grant" permissions to a user (uid) for a specific device. See tools/devgrant/ 12-11-2014: XDK seed code released as open source. At this point much of the code is not fully operational and requires significant attention. The basic Exokernel is operational and the AHCI block device driver can be used to demonstrate its capability. --------------------------- Ubuntu Package Dependencies --------------------------- sudo apt-get install make gcc g++ libnuma-dev libtinyxml-dev libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libboost-random-dev libtinyxml ------------- Contributors: ------------- Daniel Waddington ([email protected]) Jilong Kuang ([email protected]) Juan Colmenares ([email protected]) Changhui Lin ([email protected]) Won Jeon ([email protected]) Reza Dorrigiv ([email protected])
On a QEMU instance where the assigned vectors are non-contiguous, the driver fails.
Non-root access fails.
error in NVME device initialization (unable to read8 PCI config space)
unable to unload the pk module.
unable to dynamically change the number of msi allocations without rebooting the machine.
Basically, SQ calls Notify_object::wait(), waiting for CQ.
But sometimes, SQ is not able to be signaled, leading to uncompleted IO tasks.
CQ's post() operation depends on the condition (command_id >= _next_when)
It seems _next_when is not set properly, so the post() operation is not triggered.
Need better understanding on variables: slot, slot_id, command_id, send_id
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.