Gerd Zellweger [Tue, 28 Jun 2016 08:25:30 +0000]
Update gitignore.
Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Gerd Zellweger [Thu, 14 Jan 2016 10:52:55 +0000]
[Improvement] Added KernelControlBlock for Capability identification.
Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Gerd Zellweger [Thu, 14 Jan 2016 10:51:51 +0000]
[Improvement] Added Kernel control block identification.
Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Gerd Zellweger [Thu, 14 Jan 2016 10:47:20 +0000]
[Bug] Fix assertion to check struct kcb instead of dcb.
Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Simon Gerber [Tue, 28 Jun 2016 07:09:58 +0000]
libpcre: omit -Wshadow to unbreak ARM builds on GCC 4.7.3
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Fri, 24 Jun 2016 14:53:19 +0000]
ARMv7: Switched to ARMv7+ TLS registers.
This frees up r9 for both kernel and user code.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 24 Jun 2016 14:45:30 +0000]
SKB: Updated libpcre to 8.39.
This fixes the array overflow bug, and makes the previous workaround
unnecessary.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 24 Jun 2016 14:14:11 +0000]
SKB: libpcre has a bug, and overflows the supplied result buffer.
This is fixed in the latest upstream, but for the moment I've allocated a
sufficiently large buffer.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Fri, 24 Jun 2016 09:19:45 +0000]
T257: add some more debug output to usb_manager
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Fri, 24 Jun 2016 09:19:26 +0000]
T257: remove USB domains from default pandaboard menu.lst for now
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Fri, 24 Jun 2016 09:15:04 +0000]
omap44xx: do not use `div` as variable name
div() is defined in stdlib.h for integer division.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Thu, 23 Jun 2016 14:41:47 +0000]
ARMv7: Removed inconsistent copy of kernel_timeslice
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Thu, 23 Jun 2016 14:33:10 +0000]
OMAP44xx: Clock frequency discovery.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Thu, 23 Jun 2016 08:52:51 +0000]
ARMv7: Simplified jump table
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Thu, 23 Jun 2016 12:15:41 +0000]
T257: add missing platform.h
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 23 Jun 2016 12:08:05 +0000]
T257: use platform monitor RPC to figure out if we need to do Pandaboard usb initialization
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Wed, 22 Jun 2016 19:28:53 +0000]
ARMv7: Removed the duplicate 'sys_stack'
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 14:41:42 +0000]
platforms/Hakefile: generate rule to copy arm_fvp menu.lst to build tree
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 14:41:16 +0000]
harness: fvp: supply proper kernel command line arguments and mmap
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 14:40:50 +0000]
harness: gem5: supply proper kernel command line arguments
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 12:11:59 +0000]
armv7: cpuboot: use get_platform() monitor RPC to figure out which cpu driver to boot
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 12:10:16 +0000]
T254: kaluga: use new get_platform() monitor RPC to figure out what to do on armv7
Kaluga now runs device drivers on pandaboard again.
This closes T254.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 12:09:36 +0000]
platforms/Hakefile: copy menu.lst to build tree for all molly images
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 09:10:32 +0000]
T255: kernel cap invocation and monitor RPC to discover architecture and platform.
Closes T255.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 22 Jun 2016 08:06:49 +0000]
T254: kaluga: move arch-specific startup code into arch files
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Wed, 22 Jun 2016 11:17:24 +0000]
ARMv7: Exception vectors in a simple jump table.
The old scheme was complex and opaque, and not really needed. We've now got
our exception vectors in a compiled jump table, that's mapped into place.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 21 Jun 2016 11:57:12 +0000]
ARMv7: CPUID check on boot.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 21 Jun 2016 08:46:53 +0000]
Added a separate script for debugging kernel init.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 21 Jun 2016 07:49:32 +0000]
Updated debug script for 0-base kernel ELF
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 21 Jun 2016 07:47:46 +0000]
Removed redundant offset definitions.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 21 Jun 2016 07:26:03 +0000]
Renamed build_pandaboard_image.sh
It's used to build *all* molly images.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Mon, 20 Jun 2016 19:10:53 +0000]
DS-5 OS awareness for BF
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Mon, 20 Jun 2016 19:06:33 +0000]
ARMv7: Set ContextID
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 14:04:13 +0000]
Don't supply --console-port to non-patched GEM5.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 14:03:05 +0000]
Moved ARMv7 platform quirks to kernel arguments
This lets us ditch two trivial platform files (plat_fvp and plat_gem5).
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Reto Achermann [Fri, 17 Jun 2016 13:12:19 +0000]
[chips] remove chips domain and interface
Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
Reto Achermann [Fri, 17 Jun 2016 12:51:38 +0000]
[cpuboot] display correct error value if caching fails
Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 12:25:56 +0000]
Removed _gem5 and _fvp build types.
The refactored ARM code doesn't need anything special.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 11:16:26 +0000]
Added license details for FVP
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 09:31:34 +0000]
Added a harness machine definition for FVPs.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Fri, 17 Jun 2016 08:39:19 +0000]
Removed armv5 target from compiler-rt
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 15:18:39 +0000]
kernel: dump_dispatcher: don't print dispatcher name in first line
Instead fix name printing to never print more than 16 characters
(DISP_NAME_LEN).
This reverts commit
ba29ca79f6d55d55a18e92cfc8b1fbfac7de0835.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 14:48:27 +0000]
kernel: x86_64: set dcb_current->disabled correctly when entering kernel via syscall
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 14:22:52 +0000]
kernel: x86_64: use get_address() instead of manually extracting base address from cap
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 14:22:25 +0000]
kernel: dump_dispatcher: print dispatcher name
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Thu, 16 Jun 2016 14:42:01 +0000]
Merge branch 'master' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Thu, 16 Jun 2016 14:41:35 +0000]
Updated GEM5 machine definition in harness.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 14:09:27 +0000]
kaluga: remove wildcard selection of files to compile; x86 builds again
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 16 Jun 2016 13:46:37 +0000]
harness: remove armv7-m from pandaboard buildarchs
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Thu, 16 Jun 2016 11:16:47 +0000]
Make M5_PATH command-line configurable.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Thu, 16 Jun 2016 08:51:05 +0000]
Merge branch 'armv7'
This is the largely-rewritten ARMv7 code that Mothy's been working on. This
merge adds support for running on an unmodified GEM5 Versatile Express
Cortex-A15, and on the ARM FVP Cortex-A9. There are also many bugfixes for
the Pandaboard target.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Conflicts:
hake/menu.lst.arm_gem5_mc
kernel/arch/arm_gem5/startup_arch.c
kernel/arch/armv7/startup_arch.c
kernel/capabilities.c
platforms/Hakefile
David Cock [Wed, 15 Jun 2016 18:35:06 +0000]
Removed last reference to sp804 in ARMv7
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 15:56:02 +0000]
Added A9 FVP simulation targets
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 15:21:28 +0000]
Reenabled pandaboard modules in menu.lst
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 14:57:06 +0000]
harness: remove get_bootline()
Just check whether we've seen "Barrelfish CPU driver starting" by doing
`substr in line` instead of line.startswith(substr). This takes care of
platforms like omap44xx where we prepend OMAP44XX to some of the kernel
output.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 14:51:27 +0000]
ARMv7: Map kernel RAM window cacheable.
This was one cause of the "yield while disabled bug". The dispatcher shared
struct was mapped cached at user level, and uncached in the kernel. The
kernel thus read a stale copy of the disabled flag.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 14:50:33 +0000]
ARMv7: Disable interrupts before calling arch_init()
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 14:49:46 +0000]
Debug output for IRQs in kernel mode.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 14:34:49 +0000]
T252: harness: add machine to test on locally-attached pandaboard
Closes T252.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 12:26:29 +0000]
harness: update copyright notices and remove unused imports
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 12:22:36 +0000]
T251: harness: deduplicate code that is applicable for all rack machines at ETH
Closes T251.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 12:00:11 +0000]
T250: filter list of binaries to put into multiboot image with `uniq`.
Closes T250.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 09:35:40 +0000]
harness: armv7: build custom molly images based on modules for given test
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 15 Jun 2016 09:34:58 +0000]
platforms: armv7: use menu.lst.<platform> in build directory when building molly images
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Tue, 14 Jun 2016 17:56:43 +0000]
harness: Run tests on racked pandaboards
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 09:14:04 +0000]
A9: Clear the local timer event at the source.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 09:06:20 +0000]
Corrected Mackerel field definitions for A9 local timer.
Event flag is write-to-clear, for example.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Wed, 15 Jun 2016 08:35:41 +0000]
Correctly handle wfi interrupts in the kernel.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 14 Jun 2016 13:01:38 +0000]
Rewrote do_resume() for ARMv7.
The previous code was trying to return to user mode (USR), directly from
system mode. You can't do that, at least not the way we were trying to, as
system mode has no SPSR (that's why GEM5 has been complaining about writes to
SPSR from an invalid mode for the last half a decade), and no banked
registers. In any case, LDMIA {PC}^ is UNDEFINED from system mode - therefore
the ARMv7 dispatch code has always been functioning as a complete fluke!
I intend to rewrite this again to use RFE, which is the only supported way to
return to user level without chaining through an exception mode, but this fix
is enough to get it running, and squash that warning at last.
n.b. the top two hits for "Trying to access SPSR in an invalid mode" are
people trying to run Barrelfish!
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Tue, 14 Jun 2016 13:01:18 +0000]
Retabbed exceptions.S
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Mon, 13 Jun 2016 17:29:29 +0000]
Switched A15 timer to IRQ 29 to match GEM5.
This is wrong, and will need to be configured as a quirk for this platform,
unless it's fixed upstream.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Mon, 13 Jun 2016 15:39:35 +0000]
ARMv7 FVP needed its own menu.lst
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
David Cock [Mon, 13 Jun 2016 15:29:17 +0000]
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>
Simon Gerber [Mon, 13 Jun 2016 11:34:26 +0000]
libspawndomain: simplify multiboot mapping as we only have a single cap per module now
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Mon, 13 Jun 2016 11:33:00 +0000]
kernel: x86_64: fix paging_dump_tables()
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Thu, 9 Jun 2016 07:34:34 +0000]
Merge GitHub PR1.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
David Cock [Wed, 8 Jun 2016 15:12:15 +0000]
You can't print until the kprintf spinlock is initialised.
Signed-off-by: David Cock <david.cock@inf.ethz.ch>
Simon Gerber [Wed, 8 Jun 2016 13:44:41 +0000]
irqtest: fix frame_identity init
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Timothy Roscoe [Wed, 8 Jun 2016 12:44:45 +0000]
It helps to initialize your spinlocks
Signed-off-by: Timothy Roscoe <troscoe@inf.ethz.ch>
Simon Gerber [Tue, 7 Jun 2016 15:02:52 +0000]
harness: fix buildall target to be configurable on a per-machine basis
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Tue, 7 Jun 2016 14:18:20 +0000]
Merge branch 'caps_next'
This merge changes capabilities for address ranges (e.g. RAM, PhysAddr, ...)
from power-of-two sizes given in bits to sizes given in bytes. The current
implementation restricts capabilities to be sized >= BASE_PAGE_SIZE. In
addition, retype now can "cut out" a part of a large capability to create a
descendant without having to create descendants for the whole region. To
ensure integrity of operations, calls to retype result in a range query on the
capability database to check for already existing, overlapping descendants of
the source capability.
Closes T191.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Timothy Roscoe [Tue, 7 Jun 2016 11:56:42 +0000]
Missing menu.lst files
Timothy Roscoe [Tue, 7 Jun 2016 11:48:55 +0000]
Missing tool merge
Timothy Roscoe [Mon, 6 Jun 2016 13:23:47 +0000]
Documentation, and cleaner dispatcher mode tracking code. Still bug with yield.
Signed-off-by: Timothy Roscoe <troscoe@inf.ethz.ch>
Reto Achermann [Thu, 2 Jun 2016 11:08:28 +0000]
libgmp: remove dependency to libbarrelfish
Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
Timothy Roscoe [Mon, 30 May 2016 11:13:35 +0000]
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>
Simon Gerber [Wed, 25 May 2016 11:00:24 +0000]
T238: fix renaming mistake
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Wed, 25 May 2016 10:50:20 +0000]
T238: fix vnode_objsize() to not use BASE_PAGE_SIZE but 4096
This is necessary because asmoffsets.c includes
include/barrelfish_kpi/capabilities.h but does not include the appropriate
headers to get BASE_PAGE_SIZE and related definitions.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Reto Achermann [Tue, 24 May 2016 07:01:37 +0000]
fixing undefined global in spantest-exit. closes T220
Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
Simon Gerber [Mon, 23 May 2016 11:04:18 +0000]
T238: change kernel to use new vnode_objsize() when appropriate
Closes T238.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Mon, 23 May 2016 09:23:35 +0000]
T242: handle FLOUNDER_ERR_TX_BUSY for all capops
Closes T242.
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Mon, 23 May 2016 09:12:32 +0000]
T242: handle FLOUNDER_ERR_TX_BUSY in usr/monitor/capops/copy.c
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Reto Achermann [Mon, 23 May 2016 08:20:58 +0000]
making K1OM_Full build again
Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
Lukas Humbel [Tue, 17 May 2016 19:48:29 +0000]
T89: Reverting (again) the first version of the routing algorithm
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
Lukas Humbel [Tue, 17 May 2016 15:39:11 +0000]
Add appenzeller to machines with broken bridge programming
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
Simon Gerber [Tue, 17 May 2016 15:15:03 +0000]
Remove unneeded printk() in kernel/startup.c
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Simon Gerber [Tue, 17 May 2016 15:14:13 +0000]
T191: xeon_phi: Update driver to use new API and minor fixes in driver
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
Lukas Humbel [Tue, 17 May 2016 14:49:13 +0000]
T89: Make missing ACPI bridge entry non fatal.
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
Lukas Humbel [Tue, 17 May 2016 14:47:49 +0000]
T89: Revert irq_routing.pl to swizzling one
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>
Lukas Humbel [Tue, 17 May 2016 11:57:25 +0000]
T89: Improve irqtest
Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>