barrelfish
3 years agoAdd per-spawnd message queues to the process manager.
Razvan Damachi [Sun, 2 Jul 2017 14:25:53 +0000]
Add per-spawnd message queues to the process manager.

The process manager will now enqueue requests to be sent to spawnds. There is
one queue per spawnd server that the process manager is connected to. The
change is meant so that if multiple clients send requests meant to be served
by the same spawnd (e.g. spawn multiple domains on the same core), the process
manager will not return an error if the target spawnd's Flounder queue is full,
but instead queue up the requests to be sent later.

In order to accommodate for this change, the spawn API exposed to the process
manager now features a specific reply for each request type. The proces
manager handles every reply type separately, meaning that every client can now
send up to 1 request of each type exposed by the proc_mgmt API, up from a max
of 1 request of any type at any given time.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoBreak the spawnd kill API into kill + cleanup.
Razvan Damachi [Tue, 27 Jun 2017 10:14:28 +0000]
Break the spawnd kill API into kill + cleanup.

Kill just revokes the DCB, thus removing it from the run queue. Cleanup then
revokes the victim dispatcher's root cnode.

The change is meant to fix the problem where killing the main dispatcher of a
domain or having it naturally exit main() would cause the other dispatchers to
pagefault. This used to happen because dispatchers of the same domain share
their vspace, hence when kill & cleanup were performed together the vspace
of all dispatchers would be revoked as soon as the first dispatcher exited or
was killed.

The process manager attempts to fix the issue by first sending a kill message
to each spawnd running dispatchers for a domain, in order to dequeue the DCBs.
Then, only when all DCBs have been dequeued, a cleanup message is sent to each
spawnd to further clean up the victim's cspace.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoHave the spawn interface for the process manager require cap_procmng.
Razvan Damachi [Mon, 26 Jun 2017 12:07:22 +0000]
Have the spawn interface for the process manager require cap_procmng.

The process manager now sends cap_procmng with spawn requests. Spawnd then
identifies the capability and only proceeds with obliging the request if the
latter is indeed of ObjType_ProcessManager.

The idea behind this change is that, even if spawnd does not register with the
nameservice anymore (hence its iref is not publicly retrievable), a malicious
domain could still attempt to bypass process management spawn validation by
brute-force sending spawn requests to a range of irefs. If one of those irefs
happened to belong to a spawnd, then the latter would assume the spawn request
to be valid. Having the spawn API require cap_procmng ensures that only
requests issued by the process manager and entities it trusts will be obliged.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoExtract a through-monitor-only cap_identify call from debug_cap_identify.
Razvan Damachi [Mon, 26 Jun 2017 11:58:56 +0000]
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>

3 years agoImplement "wait" in the process manager + fix bug in kill reply handler.
Razvan Damachi [Thu, 22 Jun 2017 08:08:30 +0000]
Implement "wait" in the process manager + fix bug in kill reply handler.

On receiving a kill reply from some spawnd, the process manager will re-add the
pending client to the hash table if it expects to receive further such replies
for the same domain, i.e. if there are still spawnds running it.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoImplement kill() and exit() in the process manager.
Razvan Damachi [Wed, 21 Jun 2017 17:11:41 +0000]
Implement kill() and exit() in the process manager.

On the server side, both calls are handled similarly: the process manager sends
a kill request to all spawnds running a dispatcher for the victim domain. On the
client side, they are different calls.

The general-purpose domain exit protocol now attempts to use the proc mgmt API
exit call (in lib/barrelfish/init.c). If this fails, the protocol will fall
back to exiting via a direct spawn_exit() call, like before. The use-case where
exiting via the process manager is expected to fail is when the domain was not
spawned through the process manager in the first place, such as is the case
with the special domains spawned by the monitor on the bootstrap core, as well
as the monitors themselves.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoImplement kill_request_handler in spawnd, using domain caps.
Razvan Damachi [Wed, 21 Jun 2017 12:30:56 +0000]
Implement kill_request_handler in spawnd, using domain caps.

Domain cap hashing is now used by spawnd in a manner similar to the process
manager's, for looking up domains to kill as per incoming kill(domain_cap)
requests.

Note that with the new API and implementation, spawnd no longer tracks domain
exit code or waiters (although some backwards-compatibility is attempted), this
task being now attributed to the process manager (to be implemented).

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoAdd spawn, spawn_with_caps and span calls to the Process Manager API.
Razvan Damachi [Tue, 20 Jun 2017 15:14:58 +0000]
Add spawn, spawn_with_caps and span calls to the Process Manager API.

The process manager keeps local domain state and forwards valid requests to
spawnds, acting as a proxy for spawning & spanning. Requests are validated as
per the Span-Stop-Cleanup state machine at https://goo.gl/6JuJj2.

Spawnd has been enriched with several asynchronous API calls, in order for
the process manager to serve requests non-blockingly. Specifically, clients of
the process management service issue RPCs to the process manager server
(blockingly), but the latter forwards requests to spawnd asynchronously, hence
it is able to serve multiple clients at the same time.

The client code for spanning uses libbarrelfish/domain.h to create the new
dispatcher for the remote core.

Bug: if the first dispatcher exits main(), dispatchers spanned on other cores
will pagefault.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoCreate "ProcessManager" and "Domain" capabilities.
Razvan Damachi [Mon, 12 Jun 2017 13:37:42 +0000]
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>

3 years agoRefactor process manager to enable spawnd discovery.
Razvan Damachi [Fri, 9 Jun 2017 14:27:55 +0000]
Refactor process manager to enable spawnd discovery.

The process manager now allocates a special LMP endpoint for monitor.0 and
gives said endpoint to monitor.0 as part of the export_cb. After monitor.0
spawns spawnd, it uses that endpoint to send the new spawnd's iref to the
process manager. The latter then binds with spawnd, to keep track of its state.

For app cores, a similar workflow applies, except inter-monitor communication
is now performed. Namely, the new app core's monitor sends the new app core's
spawnd to monitor.0, which forwards it to the process manager. The latter then
binds with the app core's spawnd just the same.

Diagrams for the discovery protocol can be found at https://goo.gl/eJE37u.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoFirst outline of a process management service server.
Razvan Damachi [Thu, 1 Jun 2017 15:35:31 +0000]
First outline of a process management service server.

Right now, the server only has an "alloc_ep" call which the monitor will be
able to use to request connection for spawnd (for all monitors, all spawnds).
The server is not yet run by the monitor, but that should happen somewhere
along the initialization steps on the BSP core.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>

3 years agoAdd simple tftp client test
Simon Gerber [Thu, 4 May 2017 12:11:35 +0000]
Add simple tftp client test

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

3 years agoharness: Delete tests/tftp.py which is copied tests/webserver.py
Simon Gerber [Thu, 4 May 2017 09:26:46 +0000]
harness: Delete tests/tftp.py which is copied tests/webserver.py

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

3 years agonetworking: interface raw define batch size for adding rx descriptors
Roni Häcki [Wed, 3 May 2017 14:41:11 +0000]
networking: interface raw define batch size for adding rx descriptors

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: idc backend better way of handling failed notify
Roni Häcki [Wed, 3 May 2017 14:39:36 +0000]
devq: idc backend better way of handling failed notify

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: small changes to idc/debug backend
Roni Häcki [Wed, 3 May 2017 12:48:34 +0000]
devq: small changes to idc/debug backend

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agonetworking: added notify in interface raw
Roni Häcki [Wed, 3 May 2017 12:47:42 +0000]
networking: added notify in interface raw

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agoRemoved if/octopus_defs.h from public header file.
Gerd Zellweger [Wed, 3 May 2017 09:43:25 +0000]
Removed if/octopus_defs.h from public header file.

Referenced in definitions.h and trigger.h.

trigger.h is problematic because it provides helper functions for
types definied in the interface. Clients that want to use trigger.h
now have to make sure to include the interface file.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agoFix skb_snprintf uint64 parsing for the Pandaboard.
Gerd Zellweger [Wed, 3 May 2017 09:42:28 +0000]
Fix skb_snprintf uint64 parsing for the Pandaboard.

Make sure we parse 8 bytes instead of 4.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agocapops: add some more DEBUG_CAPOPS in delete code
Simon Gerber [Tue, 2 May 2017 15:32:05 +0000]
capops: add some more DEBUG_CAPOPS in delete code

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

3 years agoT245: capops: fix distributed delete
Simon Gerber [Tue, 2 May 2017 15:30:22 +0000]
T245: capops: fix distributed delete

Fix distributed delete for the case where the cap to delete is already locked
when we enter capops_delete().  In that case we need to actually continue the
delete and queue it for retrying rather than returning the error to the
caller.

Closes T245.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

3 years agodevq: idc backend remove notification from enqueue
Roni Häcki [Tue, 2 May 2017 14:06:16 +0000]
devq: idc backend remove notification from enqueue

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: changed debugging queue test
Roni Häcki [Tue, 2 May 2017 11:53:01 +0000]
devq: changed debugging queue test

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: debug backend added more functionality
Roni Häcki [Tue, 2 May 2017 11:52:00 +0000]
devq: debug backend added more functionality

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: idc backend handling failure of deregister rpc
Roni Häcki [Fri, 28 Apr 2017 13:28:14 +0000]
devq: idc backend handling failure of deregister rpc

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agoharness: extended devif test
Roni Häcki [Fri, 28 Apr 2017 12:21:19 +0000]
harness: extended devif test

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: test for debugging backend
Roni Häcki [Fri, 28 Apr 2017 08:39:05 +0000]
devq: test for debugging backend

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: stackable debugging backend for checking buffer properties
Roni Häcki [Fri, 28 Apr 2017 08:35:40 +0000]
devq: stackable debugging backend for checking buffer properties

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevq: idc backend fixed debug mode compilation
Roni Häcki [Fri, 28 Apr 2017 08:34:10 +0000]
devq: idc backend fixed debug mode compilation

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agoFix some dependency that fail the build.
Gerd Zellweger [Fri, 21 Apr 2017 08:15:20 +0000]
Fix some dependency that fail the build.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agoAdded a test to check the SKB capability storage functionality.
Gerd Zellweger [Thu, 20 Apr 2017 15:14:47 +0000]
Added a test to check the SKB capability storage functionality.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agoAdded functionality in libskb to store and retrieve caps.
Gerd Zellweger [Thu, 20 Apr 2017 15:13:25 +0000]
Added functionality in libskb to store and retrieve caps.

This uses a custom scanf and snprintf implementation
that has an additional format specifier (%Q) to
transparently load and store caps from and in the SKB.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agoAdd functionality to store caps with unique IDs.
Gerd Zellweger [Thu, 20 Apr 2017 15:10:09 +0000]
Add functionality to store caps with unique IDs.

This is similar to set_sequential in octopus that
allows to have unique record names generated by
the server.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

3 years agonet_if_raw: don't assume hardware queues on k1om
Reto Achermann [Thu, 20 Apr 2017 09:18:27 +0000]
net_if_raw: don't assume hardware queues on k1om

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agolibnetif_raw: adding k1om to build architectures
Reto Achermann [Thu, 20 Apr 2017 08:01:46 +0000]
libnetif_raw: adding k1om to build architectures

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoe1000: adding octopus flounder defs to fix dependency issue
Reto Achermann [Thu, 20 Apr 2017 07:27:26 +0000]
e1000: adding octopus flounder defs to fix dependency issue

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoMerge Github PR#5. Add missing error check in frame_identify()
Simon Gerber [Tue, 18 Apr 2017 14:17:34 +0000]
Merge Github PR#5. Add missing error check in frame_identify()

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

3 years agoARMv8: Correct timer calls.
Lukas Humbel [Tue, 18 Apr 2017 09:01:04 +0000]
ARMv8: Correct timer calls.

Timer interrupts trigger now reasonably often (each 80ms)

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoARMv8: Store status register on interrupt
Lukas Humbel [Tue, 18 Apr 2017 08:59:00 +0000]
ARMv8: Store status register on interrupt

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoARMv8: Disable GICv2 FIQ bypass interrupt
Lukas Humbel [Thu, 13 Apr 2017 11:53:43 +0000]
ARMv8: Disable GICv2 FIQ bypass interrupt

On the X-Gene, it will constantly trigger interrupt 28 otherwise.

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoARMv8: Give correct name to GIC files
Lukas Humbel [Wed, 12 Apr 2017 17:24:08 +0000]
ARMv8: Give correct name to GIC files

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoARMv8: Make GIC400 work. Timer interrupts work.
Lukas Humbel [Wed, 12 Apr 2017 17:05:46 +0000]
ARMv8: Make GIC400 work. Timer interrupts work.

GIC400 is in fact a GICv2, files need to be renamed. It is found
for instance on the X-Gene Mustang.

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoARMv8: On fatal_kernel_fault print causing vector
Lukas Humbel [Wed, 12 Apr 2017 13:36:53 +0000]
ARMv8: On fatal_kernel_fault print causing vector

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoACPI: towards handling all MADT table entries
Reto Achermann [Thu, 13 Apr 2017 08:10:36 +0000]
ACPI: towards handling all MADT table entries

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoe10k: adding e10k flounder defs to targets
Reto Achermann [Fri, 7 Apr 2017 07:44:34 +0000]
e10k: adding e10k flounder defs to targets

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agooctopus: remove inclusion to flounder header from public trigger.h
Reto Achermann [Fri, 7 Apr 2017 07:30:00 +0000]
octopus: remove inclusion to flounder header from public trigger.h

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoMerge branch 'armv8-coreboot': final pieces for interrupts and coreboot
Reto Achermann [Thu, 6 Apr 2017 16:01:19 +0000]
Merge branch 'armv8-coreboot': final pieces for interrupts and coreboot

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoCleaned up Mackerel explosion.
David Cock [Thu, 6 Apr 2017 15:04:59 +0000]
Cleaned up Mackerel explosion.

A lot of our Haskell code is *seriously* inefficient.  Mackerel created arrays
n^2 in the size of the *device's address space* to check for overlapping
registers, and then walked them.  End result for Solarflare card was a >1TB
virtual address space for Haskell.

Signed-off-by: David Cock <david.cock@inf.ethz.ch>

3 years agoRemove symbolic_targets.mk as it is not being used anymore
Moritz Hoffmann [Thu, 6 Apr 2017 07:03:06 +0000]
Remove symbolic_targets.mk as it is not being used anymore

Also update example documentation to reflect that change.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoAdd error checking in frame_identify()
Svyatoslav Ilinskiy [Mon, 3 Apr 2017 20:56:16 +0000]
Add error checking in frame_identify()
Signed-off-by: Svyatoslav Ilinskiy <ilinskiy.sv@gmail.com>

3 years agonetworking: interface raw fixed compilation for arm
Roni Häcki [Mon, 3 Apr 2017 12:30:37 +0000]
networking: interface raw fixed compilation for arm

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agonetworking: simplified interface raw
Roni Häcki [Mon, 3 Apr 2017 11:51:32 +0000]
networking: simplified interface raw

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agosolaflare: driver bugfix
Roni Häcki [Mon, 3 Apr 2017 11:47:03 +0000]
solaflare: driver bugfix

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevif: fixed solarflare test
Roni Häcki [Thu, 30 Mar 2017 12:21:34 +0000]
devif: fixed solarflare test

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevif: idc test fixed
Roni Häcki [Thu, 30 Mar 2017 11:27:42 +0000]
devif: idc test fixed

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agoAPM88xx and gicv3_mmio: use correct addresses
Lukas Humbel [Thu, 30 Mar 2017 11:22:20 +0000]
APM88xx and gicv3_mmio: use correct addresses

Unfortunately, it still doesn't work. But this way, it gets correct values
in the identification registers IIDR.

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agonetwork: fixed arm compilation
Roni Häcki [Thu, 30 Mar 2017 09:44:57 +0000]
network: fixed arm compilation

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevif: e10k backend removed unnecessary include
Roni Häcki [Thu, 30 Mar 2017 07:39:56 +0000]
devif: e10k backend removed unnecessary include

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agonetwork: removed hardcoded MAC address for solarflare card
Roni Häcki [Wed, 29 Mar 2017 13:36:36 +0000]
network: removed hardcoded MAC address for solarflare card

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agosolarflare: fixed hakefile
Roni Häcki [Wed, 29 Mar 2017 12:41:14 +0000]
solarflare: fixed hakefile

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agonetwork: added solarflare device queues
Roni Häcki [Wed, 29 Mar 2017 12:40:21 +0000]
network: added solarflare device queues

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevif: solarflare backend queue optimized
Roni Häcki [Wed, 29 Mar 2017 12:34:10 +0000]
devif: solarflare backend queue optimized

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agosolarflare: changed card driver to start shared queue 0
Roni Häcki [Wed, 29 Mar 2017 12:31:36 +0000]
solarflare: changed card driver to start shared queue 0

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agolwip: remove measuring code from datapath
Roni Häcki [Wed, 29 Mar 2017 12:20:57 +0000]
lwip: remove measuring code from datapath

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodescq: increasing the default queue size from 64 to 2048
Adam Turowski [Tue, 21 Mar 2017 15:25:05 +0000]
descq: increasing the default queue size from 64 to 2048

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

3 years agosolarflare: bugfix for using legacy interrupts
Roni Häcki [Tue, 21 Mar 2017 14:17:00 +0000]
solarflare: bugfix for using legacy interrupts

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agodevif: fixup of the arguments order in descq
Adam Turowski [Tue, 21 Mar 2017 12:10:38 +0000]
devif: fixup of the arguments order in descq

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

3 years agodevif: fixing the initialization of descq
Adam Turowski [Tue, 21 Mar 2017 09:56:08 +0000]
devif: fixing the initialization of descq

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

3 years agoGICv3: Add support for mem-mapped CPU interface
Lukas Humbel [Mon, 20 Mar 2017 17:02:28 +0000]
GICv3: Add support for mem-mapped CPU interface

Not clear if this is working, since we don't have a interrupt source yet.

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agonetwork: replacing net_queue_manager with devif as a data path, still WIP so it'll...
Adam Turowski [Mon, 20 Mar 2017 13:35:20 +0000]
network: replacing net_queue_manager with devif as a data path, still WIP so it'll probably break the network stack

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

3 years agoe10k: device_db file option fixed to allow legacy interrupts
Roni Häcki [Mon, 20 Mar 2017 09:06:51 +0000]
e10k: device_db file option fixed to allow legacy interrupts

Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

3 years agoGICv3: Generate softirq
Lukas Humbel [Thu, 16 Mar 2017 13:40:42 +0000]
GICv3: Generate softirq

Currently only does so for cores in the same affinity domain.

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agomackerel: do not pre-read write only registers
Reto Achermann [Thu, 16 Mar 2017 13:40:54 +0000]
mackerel: do not pre-read write only registers

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: adding stub for booting cores on the X-GENE
Reto Achermann [Thu, 16 Mar 2017 13:12:09 +0000]
ARMv8: adding stub for booting cores on the X-GENE

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: properly restore cpudriver stack pointer on resume
Reto Achermann [Thu, 16 Mar 2017 12:31:41 +0000]
ARMv8: properly restore cpudriver stack pointer on resume

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: setting stack top and number of pages to reserve properly
Reto Achermann [Thu, 16 Mar 2017 12:30:24 +0000]
ARMv8: setting stack top and number of pages to reserve properly

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: setting stack limit when booting cores
Reto Achermann [Thu, 16 Mar 2017 12:25:51 +0000]
ARMv8: setting stack limit when booting cores

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: Remove kernel stack labels from linker script
Reto Achermann [Thu, 16 Mar 2017 12:20:52 +0000]
ARMv8: Remove kernel stack labels from linker script

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: adding kernel stack limit to the coredata structure
Reto Achermann [Thu, 16 Mar 2017 12:19:51 +0000]
ARMv8: adding kernel stack limit to the coredata structure

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8/coreboot: enable sequential booting of cores
Reto Achermann [Thu, 16 Mar 2017 07:38:29 +0000]
ARMv8/coreboot: enable sequential booting of cores

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoHake: adding boot/cpu driver entries to menu.lst for ARMv8
Reto Achermann [Thu, 16 Mar 2017 07:22:19 +0000]
Hake: adding boot/cpu driver entries to menu.lst for ARMv8

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoMerge branch 'armv8-coreboot': Adding coreboot support form ARMv8
Reto Achermann [Thu, 16 Mar 2017 07:15:34 +0000]
Merge branch 'armv8-coreboot': Adding coreboot support form ARMv8

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoplatforms: take care of copying the new menu.lst
Reto Achermann [Sat, 25 Feb 2017 09:27:12 +0000]
platforms: take care of copying the new menu.lst

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agohake: adding menu.lst for Cavium ThunderX and APM 88xxxx
Reto Achermann [Sat, 25 Feb 2017 09:25:41 +0000]
hake: adding menu.lst for Cavium ThunderX and APM 88xxxx

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agohake: remove menu.lst.armv8_gem5
Reto Achermann [Sat, 25 Feb 2017 09:20:04 +0000]
hake: remove menu.lst.armv8_gem5

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoPlatforms: drop ARMv8 GEM5 targets
Reto Achermann [Sat, 25 Feb 2017 09:18:16 +0000]
Platforms: drop ARMv8 GEM5 targets

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoPlatforms: dropp x86_32 targets
Reto Achermann [Sat, 25 Feb 2017 09:16:24 +0000]
Platforms: dropp x86_32 targets

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoACPI: fixing table mapping code
Reto Achermann [Wed, 15 Mar 2017 17:45:37 +0000]
ACPI: fixing table mapping code

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: add boot_driver to simulated ARM machines
Lukas Humbel [Wed, 15 Mar 2017 13:12:55 +0000]
ARMv8: add boot_driver to simulated ARM machines

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoGICv3: add raise softirq
Lukas Humbel [Wed, 15 Mar 2017 12:38:36 +0000]
GICv3: add raise softirq

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>

3 years agoK1OM: fix build with the introduction of hwid_t
Reto Achermann [Wed, 15 Mar 2017 09:01:08 +0000]
K1OM: fix build with the introduction of hwid_t

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoharness: fix function call to get_kernel_args()
Reto Achermann [Wed, 15 Mar 2017 08:30:28 +0000]
harness: fix function call to get_kernel_args()

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoHarness: pass correct cmdline arguments to cpudriver
Reto Achermann [Tue, 14 Mar 2017 16:38:49 +0000]
Harness: pass correct cmdline arguments to cpudriver

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoharness: fix assertion to cope with cpu/boot driver fields
Reto Achermann [Tue, 14 Mar 2017 16:04:29 +0000]
harness: fix assertion to cope with cpu/boot driver fields

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: adding missing include to timers.h
Reto Achermann [Tue, 14 Mar 2017 15:23:46 +0000]
ARMv8: adding missing include to timers.h

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: move timer related code to timers.h
Reto Achermann [Tue, 14 Mar 2017 15:01:56 +0000]
ARMv8: move timer related code to timers.h

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: use timer_* functions in debug syscalls
Reto Achermann [Tue, 14 Mar 2017 14:58:50 +0000]
ARMv8: use timer_* functions in debug syscalls

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: do not initialize a mackerel device for accessing system registers
Reto Achermann [Tue, 14 Mar 2017 14:56:51 +0000]
ARMv8: do not initialize a mackerel device for accessing system registers

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: remove sysreg functions of counters, mackerel used instead
Reto Achermann [Tue, 14 Mar 2017 14:56:01 +0000]
ARMv8: remove sysreg functions of counters, mackerel used instead

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoARMv8: rename generic timer mackerel definitions
Reto Achermann [Tue, 14 Mar 2017 14:54:51 +0000]
ARMv8: rename generic timer mackerel definitions

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>