#
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>
|
#
d12d1287 |
|
20-Feb-2019 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
armv7: remove gic dist debug Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
4bccd389 |
|
20-Feb-2019 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
Turn serial driver into module and fix userspace GIC Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
de574cef |
|
13-Dec-2018 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
armv7: Move distributor driver to userspace Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
9335571c |
|
27-Nov-2018 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
systime: adding a relative timeout function Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
ca8451e9 |
|
13-Nov-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel,libbarrelfish: Remove Frame identify and Vnode identify invocation handlers and commands Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
8ff0486c |
|
13-Nov-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Remove invoke_frame_identify, replaced with frame_identify(). This commit fully removes the Frame_Identify invocation and replaces the calls with frame_identify(). Additionally, because the KCB is special, this commit introduces a new invocation kcb_identify() which translates the lvaddr in the KCB capability into the pysical address of the kernel control block. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
b917f1c1 |
|
13-Nov-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
libbarrelfish: endpoints: refactor to make EP management invocations unnecessary. This commit implements endpoint_identify using cap_direct_identify and endpoint_set_iftype using cap_mint. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
81781123 |
|
01-Nov-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel,monitor: implement reclaiming of previously dropped ram caps. Until now, if the kernel couldn't return a freed region of physical memory to the monitor, e.g. because the monitor was not ready yet, or the monitor's receive slot is already occupied, it would drop the range and print a diagnostic message. With this change, the cpu driver has 4 slots per KCB in which it can store a range that would be dropped. The monitor gets a new kernel cap invocation which allows it to retrieve one of the stored slots, if any. The monitor runs a deferred event loop which checks if there's a range to retrieve every second, and forwards any retrieved ranges to the memory server. The retrieval is very similar to a capops delete step, but does not happen inside the capops machinery because the need for an action are not coupled to a capability operation. Signed-off-by: Simon Gerber <simon.gerber@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>
|
#
6a267cf0 |
|
23-Jul-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
ARMv7: syscall endpoint invoke fixed Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
76a043ce |
|
19-Jul-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
kernel: adding invoke_endpoint syscalls to armv7 + armv8 Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
916b0881 |
|
13-Jun-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
armv7: make armv7 compile again on VF branch Signed-off-by: Roni Häcki <roni.haecki@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>
|
#
52f0a76b |
|
11-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
devidcaps: pass all arguemnts to the kernel to fill the cap Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
7773be69 |
|
05-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
caps: adding invocation handlers for the new captypes to the cpudriver Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
cea6f092 |
|
22-Dec-2017 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
Kaluga: Make unified irq src caps work on armv7 Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
2a364094 |
|
06-Mar-2017 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
ARM: unifying coreboot on ARMv7 and ARMv8 Coreboot: * use of hwid_t instead of coreid_t to ensure enough size * adding context id parameter to the start function ARMv8: * removing PSCI debug syscall and use ipi_cap instead * implementaton of platform specific call functions ARMv7: * adapting call sites to deal with new argument * adaption of platform boot function Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
05f3eb5a |
|
27-Nov-2016 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
systime: introducing system time based on time stamp counter/global timer, removing kernel_now Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
fe9f0035 |
|
09-Nov-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: handle VNodeCmd_Identify Signed-off-by: Simon Gerber <simon.gerber@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>
|
#
f8c54514 |
|
04-Oct-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel: arm: fix modify_flags invocation Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
a35f636b |
|
30-Aug-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Manual coreboot works on Pandaboard Module that fact the UMP isn't working properly with ARM caches. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
37dea7fa |
|
25-Aug-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Clone CPU driver cmdline correctly. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
9a2f8bd8 |
|
15-Aug-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: kernel: monitor_delete_last: fix argument unmarshalling Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
856487bd |
|
05-Aug-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Find and pass the GOT base to the APP core. Locating it in the source ELF still doesn't quite work. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
6520cfb3 |
|
05-Aug-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Coreboot makes it into the APP CPU driver. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
784087f0 |
|
05-Aug-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T266: armv7: add kernel-side handlers for cnode resizing Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
89cde0ae |
|
03-Aug-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: CPU driver relocations done. Signed-off-by: David Cock <david.cock@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>
|
#
382e1e77 |
|
02-Aug-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T276: armv7: Add new monitor invocation for retypeability check Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
be0db1e1 |
|
29-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T273: armv7: Fix monitor invocations for capability retype and creation Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
d3527170 |
|
27-Jul-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Rewrote serial drivers on ARM. They're now fairly well compartmentalised on both ARM and x86, and can start automatically from Kaluga. There's also a 'kernel' serial driver, which uses the syscall interface to read and write on the kernel console. This avoids having user level and kernel code racing on access to the UART. Fish works (minus line editing) on all Versatile Express platforms. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
68e840aa |
|
25-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T273: armv7: monitor invocation handlers: rename bits to level for cspace level arguments Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
0d0a3446 |
|
25-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T273: fix monitor_retype and adjust arguments in direct retype Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
1d898d1a |
|
25-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T272: armv7: implement two-level cspace layout Closes T272. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
29d13541 |
|
07-Jul-2016 |
David Cock <david.cock@inf.ethz.ch> |
ARMv7: Moved MMU initialisation into C Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
eb4f236c |
|
22-Jun-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T255: kernel cap invocation and monitor RPC to discover architecture and platform. Closes T255. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
a3f2dad0 |
|
13-Jun-2016 |
David Cock <david.cock@inf.ethz.ch> |
Rationalised the ARM Platform code. We now have separate targets for the GEM5 VE and FVP VE, as the GEM5 version actually simulates an A15, and has a few quirks. The FVP VE and Pandaboard targets share most of their code. Thus we've got three ARMv7-A targets now, and it should be easy to add more, as soon as we've got the simulators. Signed-off-by: David Cock <david.cock@inf.ethz.ch>
|
#
198249b2 |
|
06-Jun-2016 |
Timothy Roscoe <troscoe@inf.ethz.ch> |
Documentation, and cleaner dispatcher mode tracking code. Still bug with yield. Signed-off-by: Timothy Roscoe <troscoe@inf.ethz.ch>
|
#
96d27a40 |
|
30-May-2016 |
Timothy Roscoe <troscoe@inf.ethz.ch> |
Refactored ARMv7-A code. Cleaner startup process. Cleaner cross-platform portability (platform.h). Removed ARMv5. Removed ARMv7-m Removed XScale Changed kernel device paging interface and fixed bugs. Signed-off-by: Timothy Roscoe <troscoe@inf.ethz.ch>
|
#
a2e1cb25 |
|
21-Nov-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Fixed usage of kernel cap in armboot. Using IPICmd_Send_Start to call Spawn_core for now.
|
#
de30396d |
|
11-Nov-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Boot driver for ARM can now boot a pandaboard core.
|
#
08ceb9c3 |
|
10-Nov-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Make sure ARM kernels are working agian.
|
#
a94aaba4 |
|
25-Feb-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
arm: added missing bits for ID cap creation.
|
#
a68b7848 |
|
25-Feb-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Split CPU_ARM into CPU_ARM5 and CPU_ARM7
|
#
2826c5ea |
|
21-May-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Fixed monitor arm code.
|
#
368ff2d3 |
|
20-May-2014 |
Kornilios Kourtis <kkourt@inf.ethz.ch> |
armv7: use A9 timer functions only in pandaboard These functions are only defined for pandaboard: collect2: ld terminated with signal 11 [Segmentation fault] ./armv7/kernel/arch/armv7/syscall.o: In function `sys_syscall': syscall.c:(.text+0x9ac): undefined reference to `gt_read_high' syscall.c:(.text+0x9c0): undefined reference to `gt_read_low' Guard them with an #if for now.
|
#
4e1deb45 |
|
28-Mar-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
temporarily disable argc check in invocation macro.
|
#
dc51fb48 |
|
28-Mar-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: fixed stuff and added missing invocation handlers.
|
#
c549a935 |
|
27-Mar-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: compiles.
|
#
872377b7 |
|
25-Feb-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
arm: added missing bits for ID cap creation.
|
#
4d675a00 |
|
25-Feb-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Split CPU_ARM into CPU_ARM5 and CPU_ARM7
|
#
c8d0fa0b |
|
04-Feb-2014 |
Sebastian Wicki <swicki@student.ethz.ch> |
Added basic support for the Cortex A9 Global Timer The Cortex A9 global timer is a 64-bit incrementing counter, which is memory mapped in the private memory region. Thus, the code for the timer is currently all in the CPU driver. To read out the timer in userspace, two system calls are needed, one for the lower and and one for the upper half of the counter. The following helper function is provided to correctly read out the timer value in two 32 bit reads as suggested in the ARM TRM: errval_t sys_debug_hardware_global_timer_read(uint64_t *ret)
|
#
0fa35984 |
|
24-Sep-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
Refactoring core boot-up logic in kernel. Move architecture independent logic into single arch-independent syscall for all platforms. Handle arch specific boot-up with specialized function (usually defined in start_aps.c).
|
#
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.
|
#
a99b6f3f |
|
04-Sep-2013 |
Claudio Föllmi <foellmic@student.ethz.ch> |
timer interrupts enabled fixed interrupt handler writing to trap area for non-trap interrupts enabled timer interrupts at reasonable intervals (reasonable for -O2 and no caches) added system call for restoring a context (just for armv7-m, replacing a x86-specific interrupt), because the ONLY way to restore an IT block is by exiting handler mode (there is literally no other mechanism) (will only be called if userspace tries to restore a context that was saved by the kernel, and comes from interrupting an IT block or a ldm/stm instruction) You may want to use -O2 from now on (because we use interrupts, and thrashing is possible) The compiler we use will probably complain up to 3 times ("unable to find a register to spill in class 'GENERAL_REGS'") just retry the faulting compile instruction with -O1, and then restart make
|
#
e1634dc8 |
|
29-Aug-2013 |
Claudio Föllmi <foellmic@student.ethz.ch> |
basic armv7-m support added new hake architecture "armv7-m" added armv7-m port of kernel and libbarrelfish fixed small arm_molly issues with parsing paths containing '-' the port does not actually handle interrupts yet, but scheduling, spawning, and starting processes works this update does not yet contain the armv7-a code to start the m3 core
|
#
273384cc |
|
02-Jul-2013 |
Achermann Reto <retoachermann@student.ethz.ch> |
Enable user-level interrupt forwarding on ARM.
|
#
640a3036 |
|
25-May-2013 |
Reto Achermann <acreto@student.ethz.ch> |
IRQ handling with hardcoded IRQ id (ehci interrupt) in monitor. Interrupt handling on usb_manager level i.e. the host controller interrupt handlers are called. --HG-- rename : include/usb/class/usb_hub_request.h => include/usb/class/usb_hub.h rename : usr/drivers/usb/usb_manager/usb_hub.c => usr/drivers/usb/usb_manager/hub/usb_hub.c rename : usr/drivers/usb/usb_manager/usb_hub.h => usr/drivers/usb/usb_manager/hub/usb_hub.h
|
#
413c1d5a |
|
30-Jan-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: added new modify_flags invocation.
|
#
01955e78 |
|
26-Nov-2012 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv7: fixed merge errors and implemented new memory interface for omap44xx.
|
#
e9f16606 |
|
08-Nov-2012 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
armv5,armv7: Fix unmarshalling invoke_vbits in handle_invoke(). --HG-- extra : rebase_source : ee2de7b9445cf9deb273d914fb9c6aa4abc4b772
|
#
299ca4ce |
|
20-Aug-2012 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Renamed ARM to ARMv5.
|
#
b7aebb7e |
|
16-Aug-2012 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Renamed arm_gem5 to armv7. TODO: * Figure out if the __GEM5__ define actually refers to gem5 or just to ARMv7.
|