History log of /barrelfish-master/lib/barrelfish/arch/arm/dispatch.c
Revision Date Author Comments
# 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>


# 7b1e161a 30-Aug-2018 Adam Turowski <adam.turowski@inf.ethz.ch>

armv7: fixing thread context switching

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


# 3343d814 24-Aug-2018 Adam Turowski <adam.turowski@inf.ethz.ch>

armv7: fixing VFP support

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


# 0e8b3330 22-Jun-2017 Adam Turowski <adam.turowski@inf.ethz.ch>

armv7: save vfp context (at least part of it)

Signed-off-by: Adam Turowski <adam.turowski@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>


# b733e1d9 06-Apr-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T211: Force GCC to save r0,r1,r2 in functions that call another function with __attribute__((naked))

Not sure whether this is due to a subtle bug in our code (e.g. what are the
guarantees you get when calling a naked function?), or whether there is an
actual bug in the ARM GCC 5.3.1 (Ubuntu/Linaro 5.3.1-13ubuntu3) 5.3.1
20160330) that ships with Ubuntu 16.04.

The symptom was that saving the epilog IP in the saved state would trigger a
pagefault while disabled, as the address it was trying to write to was now
<CPSR value>+offsetof(state, named)+offsetof(named, pc).

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


# 08ceb9c3 10-Nov-2014 Gerd Zellweger <mail@gerdzellweger.com>

Make sure ARM kernels are working agian.


# 4e8dc7cb 01-Oct-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

armv5: wrapped all clrex instructions in #ifndef __ARM_ARCH_5__.


# 0d072707 05-Feb-2014 Wang Nan <wangnan0@huawei.com>

Make ARMv7 cpu driver run in SVC mode

From https://lists.inf.ethz.ch/pipermail/barrelfish-users/2013-July/001092.html


# 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


# e1bf94f8 08-Nov-2012 Simon Gerber <simon.gerber@inf.ethz.ch>

arm: Fixed state mixup in user-level thread switching.

--HG--
extra : rebase_source : 3442a69538187d20b0ae5deeabf861cac7588462


# dffaedf8 25-Oct-2012 Raphael Fuchs <raphaelfuchs@student.ethz.ch>

libbarrelfish: Rename the header lib/barrelfish/include/threads.h to
lib/barrelfish/include/threads_priv.h.

To avoid confusion between the public and the private thread header, rename
the libbarrelfish-private thread header to threads_priv.h.

--HG--
rename : lib/barrelfish/include/threads.h => lib/barrelfish/include/threads_priv.h


# 0bc35ae8 15-Feb-2012 Kornilios Kourtis <kkourt@inf.ethz.ch>

newlib,arm: make arm compile with 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


# 9299dcef 08-Jul-2011 Stefan Kästle <stefan.kaestle@inf.ethz.ch>

Initial version of public stable barrelfish repository.