#
9bd8d1d5 |
|
03-Apr-2019 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
replacing umlaute and fixing address in headers Haldeneggsteig -> Universitaetsstrasse Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
5ef61ece |
|
23-Oct-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbf: use cap_direct_identify for frame_identify and co and replace calls to debug_cap_identify where appropriate Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
af9912dd |
|
18-Oct-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbarrelfish,debug: properly print x86_64 EPT mapping caps Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
8cda299a |
|
18-Oct-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbarrelfish: debug: print error code when debug_cap_identify() fails Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
c8597501 |
|
17-Oct-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel,x86_64: allow dump of page tables around provided virtual address Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
b1bea901 |
|
15-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
libbarrelfish: removing unintentionally added includes Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
4213f5b8 |
|
15-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
caps: adding endpoint cap type for UMP endpoints Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
c7030cf1 |
|
05-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
caps: adding a new capability type for devices Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
6f321005 |
|
28-Feb-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
caps: adding capability definitions for the Intel VT-d IOMMU root and context tables Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
a2f1e286 |
|
23-Mar-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T82: checkpoint. Guest domain up. Need to implement hypervisor service. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
b90eed75 |
|
14-Aug-2018 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
debug: reverting debug_printf and acpi commits Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
79df19ed |
|
05-Jul-2018 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
arm: adding gic v3 Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
29734f4d |
|
11-Dec-2017 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel: capabilities: mapping types: remove offset field and switch to ptable+entry To eliminate the need for looking up page table capabilities by address when cleaning up mappings etc, we switch the mapping capability types to hold a pointer to the page table capability and the entry in the capability instead of just a pointer to the first page table entry which corresponds to the mapping. To make room for the additional two bytes, we remove the offset into the mapped capability which was present in the mappings but never used. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
87f1a8a2 |
|
08-Jan-2018 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
e1000 irqtest run in driverdomain, newstyle PCI startup Kaluga starts PCI drivers in a newstyle driver domain. With this commit, interrupts capabilities are passed to the init function. PCI bars and EP not yet. Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
3d3f82b4 |
|
08-Jan-2018 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
e1000 irqtest run in driverdomain, newstyle PCI startup Kaluga starts PCI drivers in a newstyle driver domain. With this commit, interrupts capabilities are passed to the init function. PCI bars and EP not yet. Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
5b4fdc25 |
|
26-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Extract a through-monitor-only cap_identify call from debug_cap_identify. The function debug_cap_identify in debug.c used to try to identify the given capref by first invoking the kernel, then performing an RPC with the monitor, if the kernel invocation failed. The kernel invocation was there for domains that hold the cap_kernel, which is necessary for the invocation to succeed. Therefore, having the invocation there for domains which do not hold cap_kernel is redundant, incurring unnecessary extra work. A monitor_cap_identify_remote function is now part of monitor_client.c, through which callers can identify caprefs through the monitor directly. The old debug_cap_identify function in debug.c now resorts to this new function if the kernel invocation fails. Moreover, userspace apps such as the process manager or spawnd need to identify caps involved in their RPCs (e.g. domain caps), however they do not hold the cap_kernel reference. They can thus now use the new function to query the monitor directly, without attempting to drop in the local kernel first. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
83ef5171 |
|
12-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Create "ProcessManager" and "Domain" capabilities. The ProcessManager capability is created by the CPU driver at startup and given to init, where it will be passed on to the monitor and then the process manager subsequently. The Domain capability is an ID-like cap retypeable from the ProcessManager cap above. The process management server can hence use the ProcessManager cap to create Domain caps and give them to spawnd instances, to facilitate identifying domains locally and globally. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
ef794352 |
|
24-Jul-2017 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Fix various memory leaks and uninitialized variable uses as reported by cppcheck Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
dde2ba50 |
|
19-Jun-2017 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
libc: removing newlib, adding BSD libc posixcompat: moving gettimeofday to libc harness: adding a simple math test lwip, lwip2: moving includes to /include, compiling with BSD headers Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
244ab29c |
|
27-Feb-2017 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
flounder: merging rpc client with a binding layer Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
80f4ecf3 |
|
01-Nov-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
Make debug_my_cspace work with new CSpace layout Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
d30a3f6b |
|
07-Oct-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: Add range to IRQSrc cap To prepare for MSIx, we change the IRQSrc cap so that it does not represent a single interrupt source but a whole range. This commit changes it to a range. Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
2874a676 |
|
11-Oct-2016 |
Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch> |
Removed unused cap type Notify_RCK. Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>
|
#
6ffd5421 |
|
11-Oct-2016 |
Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch> |
T306: Rename mapping.frame to mapping.cap Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>
|
#
10957289 |
|
05-Aug-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T258: Delete GPT cspace functionality and rename new functions This commit deletes all the old GPT cnode code, and renames the new two-level functions to the "old" names (e.g. caps_lookup_slot() is now a two-level cspace function). Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
b1f13195 |
|
14-Jul-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: Kaluga start driver with IRQ caps. Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
145c3282 |
|
12-Jul-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: use uint64_t everywhere for int numbers, renamed controller Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
a2068f06 |
|
25-Jul-2016 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
Checking in malloc/free for double frees. Debug printf can now be called from any context. Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
b8fb3cf6 |
|
22-Jul-2016 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
libbarrelfish/libmm: using PRIuGENSIZE in print statements Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
17948f60 |
|
22-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T258, T264, T270: Implement two-level cspace layout using L1/L2 CNode objects. distops functionality is NYI. This commit also makes the root cnodes explicit for sys_map(), closes T270. Notable changes: * LRPC LMP endpoints are regular capabilities in L2 cnode, no longer in root cnode. * Capability operations take a capability address for the root cnode relative to which capability addresses are to be resolved. The root cnode capability address must be resolvable in the current domains cspace. Closes T264. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
1fc0b5ef |
|
04-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T264: Add L1 and L2 CNode cap types Cannot create new types yet, as implementations for caps_retype() and check_caps_create_arguments() are missing. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
bd6dd10b |
|
04-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbarrelfish: cleanup debug_print_cap format strings Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
eb42c243 |
|
14-Jan-2016 |
Gerd Zellweger <mail@gerdzellweger.com> |
[Improvement] Added KernelControlBlock for Capability identification. Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
|
#
8b476a65 |
|
03-Jun-2016 |
Moritz Hoffmann <moritz@dhcp-16-111-6-143.labs.hpecorp.net> |
caps: Add VNode_AARCH64_l0 and VNode_AARCH64_l0_Mapping capabilities. Signed-off-by: Moritz Hoffmann <moritz@dhcp-16-111-6-143.labs.hpecorp.net>
|
#
69b41b96 |
|
18-Apr-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Squashed changes of e89aa91..6ca6bdf (master as of 2016-04-18). Take this commit out when merging Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
823b775b |
|
05-Apr-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: refactoring caps names Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
5029b6d0 |
|
05-Apr-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: Now using (again) a table of ep caps for dispatch and a bitmap for allocations. Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
064c70fe |
|
24-Mar-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: added IRQVector cap Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
8f0bb8a2 |
|
11-Mar-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: cap stubs Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
fc7fc8de |
|
16-Dec-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T191: change PhysAddr, RAM, Frame, DevFrame and VNode_* cap types to have size in bytes This only changes the actual struct capability reprensentation for these types. Most of the code dealing with these types now uses log2ceil(bits) to set the new `bytes` field. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
eed633fc |
|
17-Nov-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T187: Update user code to supply extra slot for mapping in vnode_map() Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
146e4e08 |
|
16-Nov-2015 |
David Cock <david.cock@inf.ethz.ch> |
Clean merge of HP's ARMv8 code This adds support for an ARMv8 core running in the GEM5 simulator Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
4d19b870 |
|
21-Sep-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbarrelfish: provide list of ORed ObjType_s for cap tracing. This addresses the issue that we provide a boolean value for the kernel function that controls whether to trace all operations on physical memory capabilitites which expects a list of ORed ObjType_s. Closes T164. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
878547ec |
|
04-Jun-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Merge of upstream arrakis code. This merge includes the following: * VT-d (IOMMU) support * VMX (Intel CPU virtualization) support * Parallel hake build * MegaRAID driver * Subways fast packet forwarding application * Identify physical address of VNodes * libstorage (VSIC & VSA support) * POSIX support: poll, uname, nanosleep, fsync, poll, pthread attributes, syslog, wait3, ... * TenaciousD (persistent data structures: log & queue) * Hack to skip boot RAM when it's too large * Arranet: Support for raw IP sockets, interrupts * Removal of colorful debug output * MegaRAID blockdevfs support * Arrakis compile wrappers for Autoconf * Patches to binutils & GCC to build Arrakis C++ applications Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch> Signed-off-by: Simon Peter <simpeter@cs.washington.edu> Signed-off-by: Oleg Godunok <ogodunok@gmail.com> Signed-off-by: Antoine Kaufmann <antoinek@cs.washington.edu> Signed-off-by: Jialin Li <lijl@cs.washington.edu> Signed-off-by: Dalton Black <dalton.m.black@gmail.com> Signed-off-by: Taesoo Kim <taesoo@uw.edu>
|
#
4710cdfb |
|
01-Jun-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
32bit: fixup printf format specifiers. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
90b055f4 |
|
06-Feb-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
posixcompat: properly handle PTHREAD_MUTEX_RECURSIVE and BF thread id assignment. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
e1793932 |
|
07-Nov-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv5: fixed build errors.
|
#
de906f69 |
|
28-Feb-2014 |
Simon Peter <simpeter@cs.washington.edu> |
The Arrakis backport to Barrelfish. Here are the macro changes: * Made lwIP an optional network stack * Moved lwIP headers out of the general include directory * Parallel hake * CPU-virtualized ("arrakis") applications * libarrakis is a new libOS that uses CPU features directly * arrakismon is a new monitor for Arrakis apps * QEMU Multiboot support instead of GRUB (enables KVM) * e10k virtual function driver * Software virtual->physical mapping (substitutes IOMMU) * To be replaced soon with an Intel IOMMU driver * Better GDB and stack tracing support * New POSIX support * pthreads, inet_*(), usleep(), syslimits.h, sigaction(), mman.h, * resource.h, sendmsg(), recvmsg(), mkfifo(), syslog.h, sysexits.h, * fcntl(), getegid(), getgid(), pipe(), rlimits * epoll support * Separate waitset for interrupts * Thread TLS key and ID support * Moved PCRE headers to include/, where they usually are * Intel performance counters support * Handle boot-time RAM overflow (for machines with >=64GB RAM) * Arranet network stack * Fix for build of lib/barrelfish/arch/x86_64/dispatch.c without -O2 * New comandline options to pci daemon: * maxvfs=x, x is number of virtual functions to create for each * device supporting it * skb_bridge_program=x, x is SKB bridge programming script to use * bridge_bios is a script that uses the BIOS pre-set values, like Linux * Correctly build machine-optimized newlib parts * Library versions of e1000 and e10k drivers * Support for virtualization in e10k driver * e10k datacenter control plane daemon * Modified hellotest to be both a Barrelfish and an Arrakis application I've decided not to include the lwIP 1.4.1 code, as the port is not finished and who wants to use lwIP anyway with the Arrakis network stack and mTCP being released soon. If you want this, let me know (it's hugely superior to lwIP 1.3.1). I've made the code backwards-compatible with Barrelfish. The default should do what Barrelfish does. One can specify commandline options to the PCI daemon and e10k driver to configure I/O virtualization and the optional arrakismon allows loading CPU-virtualized "arrakis" programs. There are more pending changes, such as support for hardware rate limiting and weighted round robin packet scheduling, but I'd like these to go in first, before I push the rest.
|
#
e00b34d8 |
|
27-Nov-2013 |
pravin@inf.ethz.ch <pravin@inf.ethz.ch> |
Fixed the dependency issue for e10k card, and also minor modifications to :: - handle variable type correctly for printing - handle ``set but not used`` warning.
|
#
b8d995cb |
|
02-Oct-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Redesigned hw page table dumping to be an invocation on a dispatcher cap. This has two benefits over the old design where dumping hw page tables was a kernel cap invocation and took a dispatcher cap as an argument: 1) This is probably the most common use case, you don't have to go through the monitor if you just want to dump your own hw page tables. 2) A domain which has the dispatcher cap of another domain (mostly because it's going to spawn said domain) can dump the hw page tables of the to-be-spawned domain without capability address contortions.
|
#
6b4e84bb |
|
31-Jul-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added missing cap types to debug_print_cap in lib/barrelfish and to sprint_cap in the kernel.
|
#
7cf6d00d |
|
31-Jul-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added debug syscall & Config.hs variable for physmem capability tracing.
|
#
8158f6e1 |
|
16-May-2012 |
Mark Nevill <nevillm@ethz.ch> |
Catch null rpc client in barrelfish/debug.c.
|
#
83ab1e5c |
|
29-Mar-2012 |
Mark Nevill <nevillm@ethz.ch> |
Added and fixed various debug printfs related to cap operations.
|
#
22cf06ba |
|
26-Jun-2013 |
Raphael Fuchs <fuchs.raphael@gmail.com> |
Colorize debug output.
|
#
a0e28164 |
|
22-Nov-2012 |
Simon Gerber <simugerber@student.ethz.ch> |
Added code to dump hardware page tables from user space.
|
#
49d9d284 |
|
22-Jun-2012 |
Raphael Fuchs <raphaelfuchs@student.ethz.ch> |
Added ID capability, providing a system-wide unique ID. The ID capability currently supports one invocation called 'identify', to retrieve the system-wide unique ID. The Domain capability, which was never used, is removed with this patch, since the ID capability provides a more general capability.
|
#
cba58299 |
|
05-Feb-2012 |
Kornilios Kourtis <kkourt@inf.ethz.ch> |
newlib,x86_32: use PRI{u,x}32, PRI{u,x}PTR, etc in format strings Again this is needed because newlib defines uint32_t as unsigned long. (In retrospect, I should just changed newlib's uint32_t to unsigned int) Checkpoint: compiles and boots qemu for x86-{32,64}-{newlib,freec} Also, a couple of tests on real hardware (x86_64 only) work
|
#
522b8c0f |
|
28-Dec-2011 |
Zeus Gómez Marmolejo <zeus.gomez@bsc.es> |
Boots correctly for both freec and newlib
|
#
52c61712 |
|
28-Dec-2011 |
Zeus Gómez Marmolejo <zeus.gomez@bsc.es> |
Replaced caddr_t type with capaddr_t to avoid conflict with libc for i in $(find . -type f) do grep -r caddr_t $i if [ $? -eq 0 ] then sed 's/caddr_t/capaddr_t/g' $i > $i.sed mv $i.sed $i fi done
|
#
559955b4 |
|
02-Aug-2011 |
Simon Peter <speter@inf.ethz.ch> |
Merge from ASPLOS tree.
|
#
9299dcef |
|
08-Jul-2011 |
Stefan Kästle <stefan.kaestle@inf.ethz.ch> |
Initial version of public stable barrelfish repository.
|