History log of /barrelfish-master/lib/barrelfish/arch/x86_64/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>


# 9c84fe49 17-Jul-2018 Lukas Humbel <lukas.humbel@inf.ethz.ch>

save FPU state on disp_save

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


# 9a7d2f5b 11-May-2018 Adam Turowski <adam.turowski@inf.ethz.ch>

fpu: unifing the fpu's context switching
x86_64: fixing the stack's alignment

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


# df7a10ce 11-May-2018 Adam Turowski <adam.turowski@inf.ethz.ch>

fpu: unifing the fpu's context switching
x86_64: fixing the stack's alignment

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


# b09035c2 05-Nov-2014 Gerd Zellweger <mail@gerdzellweger.com>

Remove unneeded code in x86_64.


# f611f14f 15-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Added missing function.


# 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.


# 8bbdd45e 13-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed save_suspend_resume.


# fac688a5 18-Dec-2013 Gerd Zellweger <mail@gerdzellweger.com>

Using sys_suspend syscall to halt a core and resume later.

Also adding user-level part where we do something similar to sys_yield, ie. save
the context for enabled dispatcher while disabled and set the dispatcher to
enabled again in the kernel. This ensures we will jump back to the right part
when scheduling without ever returning from the syscall.


# de906f69 28-Feb-2014 Simon Peter <simpeter@cs.washington.edu>

The Arrakis backport to Barrelfish.

Here are the macro changes:
* Made lwIP an optional network stack
* Moved lwIP headers out of the general include directory
* Parallel hake
* CPU-virtualized ("arrakis") applications
* libarrakis is a new libOS that uses CPU features directly
* arrakismon is a new monitor for Arrakis apps
* QEMU Multiboot support instead of GRUB (enables KVM)
* e10k virtual function driver
* Software virtual->physical mapping (substitutes IOMMU)
* To be replaced soon with an Intel IOMMU driver
* Better GDB and stack tracing support
* New POSIX support
* pthreads, inet_*(), usleep(), syslimits.h, sigaction(), mman.h,
* resource.h, sendmsg(), recvmsg(), mkfifo(), syslog.h, sysexits.h,
* fcntl(), getegid(), getgid(), pipe(), rlimits
* epoll support
* Separate waitset for interrupts
* Thread TLS key and ID support
* Moved PCRE headers to include/, where they usually are
* Intel performance counters support
* Handle boot-time RAM overflow (for machines with >=64GB RAM)
* Arranet network stack
* Fix for build of lib/barrelfish/arch/x86_64/dispatch.c without -O2
* New comandline options to pci daemon:
* maxvfs=x, x is number of virtual functions to create for each
* device supporting it
* skb_bridge_program=x, x is SKB bridge programming script to use
* bridge_bios is a script that uses the BIOS pre-set values, like Linux
* Correctly build machine-optimized newlib parts
* Library versions of e1000 and e10k drivers
* Support for virtualization in e10k driver
* e10k datacenter control plane daemon
* Modified hellotest to be both a Barrelfish and an Arrakis application

I've decided not to include the lwIP 1.4.1 code, as the port is
not finished and who wants to use lwIP anyway with the Arrakis
network stack and mTCP being released soon. If you want this,
let me know (it's hugely superior to lwIP 1.3.1).

I've made the code backwards-compatible with Barrelfish. The
default should do what Barrelfish does. One can specify
commandline options to the PCI daemon and e10k driver to
configure I/O virtualization and the optional arrakismon allows
loading CPU-virtualized "arrakis" programs.

There are more pending changes, such as support for hardware
rate limiting and weighted round robin packet scheduling, but
I'd like these to go in first, before I push the rest.


# a6171934 30-Oct-2013 pravin@inf.ethz.ch <pravin@inf.ethz.ch>

Partially working version of the modified network stack.
Status: Networking works
Small website test works (Barrelfish website without pdfs)
Full website test does not work (Barrelfish website with pdfs)
Tests done with e1000n running on separate core


# 42f81ef4 08-Feb-2013 Zaheer Chothia <zchothia@student.ethz.ch>

Clang: resolve several minor warnings.


# 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


# 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


# e471e7c3 07-Oct-2011 pravin@inf.ethz.ch <pravin@inf.ethz.ch>

Working checkupoint: added context switch measurements


# bd1b21be 06-Oct-2011 pravin@inf.ethz.ch <pravin@inf.ethz.ch>

Minor changes to get the UDP send benchmark working,
but no success so far :-(


# 61902d8b 10-Aug-2011 Andrew Baumann <andrew.baumann@microsoft.com>

ICC compilation fixes


# 559955b4 02-Aug-2011 Simon Peter <speter@inf.ethz.ch>

Merge from ASPLOS tree.


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

Initial version of public stable barrelfish repository.