#
ded176ef |
|
15-Nov-2019 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
armv8: increase kcb size to accomodate vector table Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
|
#
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>
|
#
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>
|
#
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>
|
#
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>
|
#
380c1162 |
|
31-Mar-2016 |
Lukas Humbel <lukas.humbel@inf.ethz.ch> |
IRQ: added irq source capability and make the inthandler setup use it 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>
|
#
fb383f0d |
|
10-Nov-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Put KCB syscalls in platform independent kernel source.
|
#
dc60088c |
|
05-Nov-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Integrating coreboot for 32bit.
|
#
6788c45f |
|
28-Oct-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Refactor kcb add/remove function in kernel.
|
#
85cc112e |
|
27-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Fixed deferred events when migrating onto running cpu driver.
|
#
dbeaac1e |
|
27-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added code to make deferred events fairly accurate and added shutdown to update operation in cpuboot.
|
#
be3a5c21 |
|
25-Jan-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Assert that kcb is set.
|
#
10188087 |
|
24-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added current core_id so we can properly reroute interrupts after moving kcb.
|
#
6d52afc2 |
|
15-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Fixed x86boot 'take' operation implementation.
|
#
f7f0d859 |
|
14-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added moving kcb off shared cpu driver, currently crashes in newly started kernel on target core.
|
#
050f6d0a |
|
14-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added home kcb which is used for interrupt handling.
|
#
21520879 |
|
14-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added invocation to remove kcb from kcb scheduling ring.
|
#
cd1a5359 |
|
13-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added switching of kcb on timer interrupt and added invocation to add kcb to ring.
|
#
02860728 |
|
13-Jan-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Renamed kernel global kcb to kcb_current. Fixed wakeup code to directly reference kcb->wakeup_queue_head.
|
#
28a9f55f |
|
09-Jan-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Fix some code, able to do benchmarks.
|
#
68bdda3d |
|
20-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added code to make it possible to switch between kernels with different schedulers. This currently works by having the 'up' argument to x86boot optionally have the form 'up=<scheduler strategy>', e.g. 'up=rbed'. Currently you need to build each version of the cpu driver by hand, and copy the resulting binary to 'cpu_<scheduler strategy>'. You also need to add multiboot modules for each of these (module /x86_64/sbin/cpu_rbed nospawn).
|
#
e886455c |
|
19-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Removed lastdisp and kernel_now from kcb; call scheduler_reset_time() on restore instead.
|
#
f488045b |
|
19-Dec-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
Moved irq_dispatch in kcb again.
|
#
1b503eff |
|
17-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added more scheduler state to kcb.
|
#
b4fb359f |
|
18-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added kernel_now to kcb and fixed restoring of scheduler state.
|
#
41df678d |
|
18-Dec-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
struct cte include for kcb.
|
#
9c444022 |
|
17-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Implemented mdb restore iff valid kcb available. Moved scheduling to always keep kcb and local vars in sync.
|
#
b0b9b3db |
|
17-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Made mdb update kcb if compiled in 'kernel mode' and adapted mdb tests.
|
#
24513544 |
|
17-Dec-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
Construct kernel control blocks in x86boot. Store them in the coredata struct that is passed along to the new kernel. We should really move all coredata state in the kcb and pass the kcb to the kernel instead of the other way around.
|
#
cef86871 |
|
17-Dec-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
Remove defines.
|
#
f5eb1b0b |
|
17-Dec-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
Moving IRQ state in KCB.
|
#
33a875a2 |
|
16-Dec-2013 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Added capability type and struct definition for kcb. Modelled after dispatcher & struct dcb. This doesn't do anything yet. It's just the framework for moving all the state of the kernel that isn't in capabilities yet into one. This is mostly for persisting state over core reboots at this time (c.f. meeting 2013-12-16).
|