8 years agoram_alloc_remote(): reset affinity before calling slot_alloc() release2012-08-08
Kornilios Kourtis [Mon, 6 Aug 2012 12:06:52 +0000]
ram_alloc_remote(): reset affinity before calling slot_alloc()

Based on patch provided by Shi Jinghao <>:

In ram_alloc_remote, there is a hack that before we obtain the
ram_alloc_lock and do the actual transport, we first check if cs->space ==
1: if yes, we do a pair of dummy slot_alloc and slot_free to help the
slot_allocator grow itself. But since slot_alloc may involve another
ram_alloc call, we need to reset the affinity to the default (0, 0) before
slot_alloc and restore the affinity after slot_free.

I found this bug when I repeatly do: set affinity to
(0x80000000-0xc0000000) (shared memory on SCC), allocate a 4K frame use
frame_alloc, set the affinity back to (0, 0). After a certain number of
iterations, all the slot in slot_allocator are consumed and trigger the
dummy slot_alloc/slot_free operation. Then the slot_alloc failed since at
the moment, the affinity is not the default (0, 0) but
(0x80000000,0xc0000000). So the new frame is allocated on a non-expected
physical memory region and somehow a page fault is triggered, which cause
the system to crash.

Here is the fix patch, FYI.

diff -r ba0440b6d59d lib/barrelfish/ram_alloc.c
--- a/lib/barrelfish/ram_alloc.c Wed Aug 01 20:17:53 2012 +0800
+++ b/lib/barrelfish/ram_alloc.c Wed Aug 01 20:18:31 2012 +0800
@@ -35,6 +35,7 @@
     struct slot_alloc_state *sas = get_slot_alloc_state();
     struct slot_allocator *ca = (struct slot_allocator*)(&sas->defca);
     if (ca->space == 1) {
+        ram_set_affinity(0, 0);
         struct capref cap;
         err = slot_alloc(&cap);
         if (err_is_fail(err)) {
@@ -44,6 +45,7 @@
         if (err_is_fail(err)) {
             return err_push(err, LIB_ERR_SLOT_FREE);
+        ram_set_affinity(minbase, maxlimit);

     assert(ret != NULL);

8 years agoFixed some Mackerel-API errors.
Mothy [Fri, 3 Aug 2012 11:41:50 +0000]
Fixed some Mackerel-API errors.

8 years agorefactor lib/vfs/Hakefile
Raphael Fuchs [Wed, 1 Aug 2012 11:57:51 +0000]
refactor lib/vfs/Hakefile

* The libraries vfs and vfs_nonfs used addLibraries to specify their dependency
  to ahci. Use libDeps instead.

* Remove hard tabs and break after column 80, to comply with our coding style.

8 years agorefactor usr/net-test/Hakefile
Raphael Fuchs [Wed, 1 Aug 2012 09:09:31 +0000]
refactor usr/net-test/Hakefile

* Add the dependency to posixcompat, since net-test.c uses the functions read
  and write.

* Remove hard tabs to comply with our CodingStyle.

8 years agofix: Library dependencies specified by libDeps were incomplete and incorrect.
Raphael Fuchs [Wed, 1 Aug 2012 09:09:31 +0000]
fix: Library dependencies specified by libDeps were incomplete and incorrect.

* Since vfs and vfsfd depend on each other, merge those libraries.
  Because of the circular dependency we have to link against both in all cases

* Properly specify all the dependencies of libposixcompat:
    * posixcompat -> lwip
    * posixcompat -> vfs

* libDeps states that nfs depends on posixcompat, which is not the case. This
  resolves the other circular dependency we have between our libraries:
  posixcompat -> nfs -> "net" -> posixcompat.

* Remove the pseudo library target "net", which is no longer used.

* Swap posixcompat and vfs in the total order, since posixcompat -> vfs and not
  the other way round.

8 years ago*.hs: update imports to be compatible with ghc 7.4
Kornilios Kourtis [Tue, 31 Jul 2012 14:59:35 +0000]
*.hs: update imports to be compatible with ghc 7.4

8 years agoExtend the netdb.h header with symbolic constants for the addrinfo structure.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Extend the netdb.h header with symbolic constants for the addrinfo structure.

The POSIX standard states:
The <netdb.h> header shall define the following symbolic constants that
evaluate to bitwise-distinct integer constants for use in the flags field of the
addrinfo structure:

AI_PASSIVE      Socket address is intended for bind( ).
AI_CANONNAME    Request for canonical name.
AI_NUMERICHOST  Return numeric host address as name.
AI_NUMERICSERV  Inhibit service name resolution.
AI_V4MAPPED     If no IPv6 addresses are found, query for IPv4 addresses and
                return them to the caller as IPv4-mapped IPv6 addresses.
AI_ALL          Query for both IPv4 and IPv6 addresses.
AI_ADDRCONFIG   Query for IPv4 addresses only when an IPv4 address is
                configured; query for IPv6 addresses only when an IPv6 address
                is configured.

This commit adds this constants.

8 years agoposixcompat: provide functions getpeername and shutdown
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
posixcompat: provide functions getpeername and shutdown

Implemented as a simple wrapper to lwip_getpeername and lwip_shutdown.

8 years agoAdded timerclear, timerisset and timercmp macros from FreeBSD to sys/time.h.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added timerclear, timerisset and timercmp macros from FreeBSD to sys/time.h.

Those are required by openssh.

8 years agoExtended netinet/in.h with IPPORT_RESERVERD from FreeBSD.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Extended netinet/in.h with IPPORT_RESERVERD from FreeBSD.

8 years agoAdded header netinet/tcp.h as a wrapper for lwip/tcp.h
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added header netinet/tcp.h as a wrapper for lwip/tcp.h

Header file is required by openssh.

8 years agoAdded sa_family_t to sys/socket.h.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added sa_family_t to sys/socket.h.

POSIX requires that the header file sys/socket.h defines the sa_family_t type.

8 years agoGetaddrinfo and freeaddrinfo were commented out because of an incompatability
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Getaddrinfo and freeaddrinfo were commented out because of an incompatability
with the PostgreSQL port. Openssh requires those two functions. Simon agreed to
bring them back in.

8 years agoAdded header termios.h, sys/_termios.h and sys/ttycom.h from FreeBSD. Removed
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added header termios.h, sys/_termios.h and sys/ttycom.h from FreeBSD. Removed
the stub header in sys/termios.h.

POSIX requires the header termios.h to lie in the base include directory not
under sys/. FreeBSD spilts this header into three termios.h, sys/_termios.h and

This header files are required by openssh.

8 years agoAdded header sys/uio.h and sys/_iovec.h from FreeBSD.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added header sys/uio.h and sys/_iovec.h from FreeBSD.

The header sys/uio.h is defined in the POSIX standard and contains definitions
for vector I/O operations. FreeBSD spilts this header into two sys/uio.h and

Header files are required by openssh.

8 years agoAdded header netinet/ip.h as a wrapper for ipv4/lwip/ip.h
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added header netinet/ip.h as a wrapper for ipv4/lwip/ip.h

Header file is required by openssh.

8 years agoAdded header netinet/in_systm.h from FreeBSD.
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
Added header netinet/in_systm.h from FreeBSD.

Header file is required by openssh.

8 years agolibvfs_nonfs: The library libvfs_nonfs had a broken Hakefile. It did not include...
Raphael Fuchs [Mon, 30 Jul 2012 07:53:59 +0000]
libvfs_nonfs: The library libvfs_nonfs had a broken Hakefile. It did not include the recently added ata and fat code but depended on it. This fix makes it compile again.

8 years agoadding a tag for release 2012-07-18
Stefan Kästle [Wed, 18 Jul 2012 11:33:44 +0000]
adding a tag for release 2012-07-18

8 years agofix: both newlib and libposixcompat implemented _exit. release2012-07-18
Raphael Fuchs [Wed, 11 Jul 2012 19:52:09 +0000]
fix: both newlib and libposixcompat implemented _exit.
Rename the implementation in newlib to _Exit.

_exit is POSIX and declared in unistd.h. We implement it in
_Exit is C99 and declared in stdlib.h. We implement it in

8 years agolib/octopus/parser: change octyy_error argument const char *
Kornilios Kourtis [Tue, 10 Jul 2012 16:20:22 +0000]
lib/octopus/parser: change octyy_error argument const char *

8 years agooctopus: use a octyy_ prefix for global parse functions
Kornilios Kourtis [Tue, 10 Jul 2012 16:01:21 +0000]
octopus: use a octyy_ prefix for global parse functions

postgresql also uses bison for creating an SQL parser.
Linking agaist octopus led to duplicate symbols.

8 years agoMove fdopen(), popen(), and pclose() from oldc to libposixcompat,
Simon Peter [Tue, 10 Jul 2012 15:07:30 +0000]
Move fdopen(), popen(), and pclose() from oldc to libposixcompat,
where they belong (they're POSIX).

8 years agoRefactored libcollections.a to prefix all exported functions and data
Simon Peter [Tue, 10 Jul 2012 15:06:34 +0000]
Refactored libcollections.a to prefix all exported functions and data
types with collections_ to prevent namespace pollution. Many
application programs have their own functions named list_* and hash_*
(e.g. PostgreSQL).

8 years agoFor strdup() to work in oldc, you need _USE_XOPEN #defined.
Simon Peter [Tue, 10 Jul 2012 11:41:42 +0000]
For strdup() to work in oldc, you need _USE_XOPEN #defined.

8 years agoAdded SCN* macros to oldc's inttypes.h. They are needed by Octopus.
Simon Peter [Tue, 10 Jul 2012 11:41:16 +0000]
Added SCN* macros to oldc's inttypes.h. They are needed by Octopus.

8 years agooldc: add SCN*8 (fscanf format specifiers) macros in oldc
Kornilios Kourtis [Tue, 10 Jul 2012 09:45:50 +0000]
oldc: add SCN*8 (fscanf format specifiers) macros in oldc

SCN* format specifiers are defined in C99

8 years agonewlib: dummy system()
Kornilios Kourtis [Mon, 9 Jul 2012 20:00:28 +0000]
newlib: dummy system()

- remove fork/wait/execve from newlib
- create a dummy system()

8 years agoopenssl: comment out noecho_fgets()
Kornilios Kourtis [Mon, 9 Jul 2012 20:00:23 +0000]
openssl: comment out noecho_fgets()

noecho_fgets() causes compilation with -O0 to fail.

8 years agoRestore some POSIX functionality that was messed up by newlib inclusion.
Simon Peter [Mon, 9 Jul 2012 17:13:56 +0000]
Restore some POSIX functionality that was messed up by newlib inclusion.

8 years agoRemove LITTLE_ENDIAN, BIG_ENDIAN #define clash and use optimized
Simon Peter [Mon, 9 Jul 2012 13:34:47 +0000]
Remove LITTLE_ENDIAN, BIG_ENDIAN #define clash and use optimized
[nh]to[nh][ls]() from BSD.

8 years agoMade lwip_init_auto_ex() public. It's needed by software providing own
Simon Peter [Mon, 9 Jul 2012 09:37:27 +0000]
Made lwip_init_auto_ex() public. It's needed by software providing own
mutexes and waitsets.

8 years agoFix sbrk() to conform to the new (old) prototype.
Simon Peter [Mon, 9 Jul 2012 09:35:04 +0000]
Fix sbrk() to conform to the new (old) prototype.

8 years agoAdd a sys/unistd.h that #includes unistd.h. Newlib needs this for its
Simon Peter [Sun, 8 Jul 2012 15:22:00 +0000]
Add a sys/unistd.h that #includes unistd.h. Newlib needs this for its
internal functions.

8 years agounistd.h is a POSIX header and has to be in the base include
Simon Peter [Sun, 8 Jul 2012 15:21:17 +0000]
unistd.h is a POSIX header and has to be in the base include
directory. Move it from the include/oldc directory, where it doesn't
belong (it's implemented in libposixcompat, not oldc).

Mark newlib's unistd.h and sys/unistd.h invalid, using #error.

rename : include/oldc/unistd.h => include/unistd.h

8 years agoMove [nh]to[nh][ls]() into cc.h header file, allowing for
Simon Peter [Sun, 8 Jul 2012 15:00:15 +0000]
Move [nh]to[nh][ls]() into cc.h header file, allowing for
architecture-specific optimizations and to obviate the need to link
liblwip.a into libbfdmuxvm.a.

8 years agolwIP: Remove duplicate (and buggy) implementations in OS-specific
Simon Peter [Sun, 8 Jul 2012 12:38:02 +0000]
lwIP: Remove duplicate (and buggy) implementations in OS-specific
sys_arch.c, which are also available in the OS-generic core/sys.c. I
don't know why we had these in sys_arch.c.

Problems with the sys_arch.c implementations:

* sys_msleep(): was NYI
* sys_timeout(): Didn't properly sort new timeout into timeouts list
* sys_untimeout(): Didn't free() any removed timeout
* sys_sem_wait(): Didn't process timeouts
* sys_sem_wait_timeout(): Dito
* sys_mbox_fetch(): Dito

Note that sys_sem_wait(), sys_sem_wait_timeout(), and sys_mbox_fetch()
in sys.c still don't process timeouts, as they rely on
sys_arch_sem_wait() and thread_cond_wait_timeout() from sys_arch.c,
which currently ignore timeouts.

8 years agosys/time.h is POSIX and has to include time.h.
Simon Peter [Sun, 8 Jul 2012 12:29:18 +0000]
sys/time.h is POSIX and has to include time.h.

Mark newlib's sys/time.h invalid via a #error. We have our own version.

8 years agosignal.h has to be in the base include directory. It's both C and
Simon Peter [Sun, 8 Jul 2012 12:27:11 +0000]
signal.h has to be in the base include directory. It's both C and
POSIX and we use the same header for both of our libcs. The header is
the one from the old libc. Newlib's signal.h was removed when newlib
was imported.

Remove posixcompat subdirectory, which was never intended to
exist (POSIX mandates the location of header files).

rename : include/posixcompat/signal.h => include/signal.h

8 years agoFix typo in hake usage string.
Simon Peter [Sun, 8 Jul 2012 12:24:37 +0000]
Fix typo in hake usage string.

8 years agoAttempt to fix the build dependency problem causing createDirectory errors for tools...
Stefan Kästle [Wed, 4 Jul 2012 17:10:36 +0000]
Attempt to fix the build dependency problem causing createDirectory errors for tools/tools.

8 years agoadding a tag for release 2012-07-02
Stefan Kästle [Mon, 2 Jul 2012 13:12:29 +0000]
adding a tag for release 2012-07-02

8 years agoCommit 88d9621eb81e did not include arch-specific code for arm. release2012-07-02
Raphael Fuchs [Mon, 25 Jun 2012 07:54:25 +0000]
Commit 88d9621eb81e did not include arch-specific code for arm.

8 years agoPrint current working directory from within scalebench
Stefan Kästle [Mon, 25 Jun 2012 06:59:05 +0000]
Print current working directory from within scalebench

8 years agoAdding functionality to inherit capabilities and pass capabilities as arguments.
Raphael Fuchs [Fri, 22 Jun 2012 09:04:57 +0000]
Adding functionality to inherit capabilities and pass capabilities as arguments.

The function 'spawn_domain_with_fdcap' was used to spawn a domain and
inherit the file descriptors of the current domain. A similar inheritance
mechanism is needed for session capabilities.

To this end, the function was renamed to 'spawn_domain_with_caps'. It no longer
expects an fdcap as one of the arguments but a CNode containing all the
capabilities, that should be inherited by the newly spawned domain. The layout
of this CNode is convention an defined in include/barrelfish/spawn_client.h.
Spawnd knows about these capabilities and copies them to the appropriate places.
For example, if the fdcap is present in the inherit CNode, spawnd copies it to
the corresponding slot in the task CNode.

Moreover, we need the ability to pass arbitrary capabilities to a domain at
startup for example to start a device driver. Spawnd does not have to know about
these capabilities. Which capabilities are passed in which order is an agreement
between spawner and spawnee. To this end, this patch adds another CNode argument
to the function 'spawn_domain_with_caps'. If a domain wants to pass certain
capabilites to another domain it therefore creates a CNode and places the
capabilities in this Cnode and the passes this CNode as an argument to
'spawn_domain_with_caps'. Spawnd makes this CNode available to the spawnee in
the ARGCN slot of the root CNode as either a CNode (if spawner and spawnee are
on the same core) or a ForeignCNode (if on different cores).

The first method of inheriting capabilities and the second method of passing
capabilities are intentionally kept as two arguments because of the following
* To account for the difference in their handling. Spawnd knows about the
  inherited capabilities and places each of them to appropriate places in the
  spawnee's CSpace. As a result they are available early-on, i.e. before the
  library initialization code for this domain runs.
* Putting both kinds of capabilities in a single flat CNode, would require
  recompilation of the whole OS after adding a new capability, that should be

8 years agoAdding a function that builds a 'struct cnoderef' given a 'struct capref'.
Raphael Fuchs [Fri, 22 Jun 2012 09:04:54 +0000]
Adding a function that builds a 'struct cnoderef' given a 'struct capref'.

The function uses cap identification to get the missing information.

8 years agoAdded ID capability, providing a system-wide unique ID.
Raphael Fuchs [Fri, 22 Jun 2012 09:04:45 +0000]
Added ID capability, providing a system-wide unique ID.

The ID capability currently supports one invocation called 'identify', to
retrieve the system-wide unique ID.

The Domain capability, which was never used, is removed with this patch, since
the ID capability provides a more general capability.

8 years agoKernel: Add stub function access_ok to check the validity of a buffer passed from...
Raphael Fuchs [Wed, 20 Jun 2012 09:51:30 +0000]
Kernel: Add stub function access_ok to check the validity of a buffer passed from user space.

Typical usage:
if (access_ok(ACCESS_WRITE, buffer, size)) {
    // write to user-space buffer
} else {

8 years agoAdded ability to create certain capabilities at runtime (without using retype).
Raphael Fuchs [Mon, 18 Jun 2012 09:04:50 +0000]
Added ability to create certain capabilities at runtime (without using retype).

The CNode capabilities are enhanced with a new invocation 'CNodeCmd_Create',
allowing to create new capabilities at runtime.
Only certain types of capabilities can be created this way. If invoked on a
capability type, that is not creatable at runtime the error

8 years agoAdded Octopus debugging option to Config.hs.
Raphael Fuchs [Mon, 18 Jun 2012 09:04:49 +0000]
Added Octopus debugging option to Config.hs.

Removed the debug #define from the source code and added it to Config.hs to have all the debugging options in one place.

8 years agoFixed a dependency bug. VBE depends on the ACPI rpcclient interface.
Raphael Fuchs [Thu, 14 Jun 2012 15:25:25 +0000]
Fixed a dependency bug. VBE depends on the ACPI rpcclient interface.

8 years agomake newlib compile with -O0
Kornilios Kourtis [Wed, 13 Jun 2012 09:26:01 +0000]
make newlib compile with -O0

disabling optimizations ends up in some functions getting called. Define dummy
versions for these functions.

8 years agohake/Config.hs.template: switch optimization level back to -O2
Kornilios Kourtis [Tue, 12 Jun 2012 15:40:30 +0000]
hake/Config.hs.template: switch optimization level back to -O2

-O3 enables loop unrolling which causes problems with thc, due to loops with
inline assembly being unrolled.

For example:
../usr/tests/thctest/thctest.c: Assembler messages:
../usr/tests/thctest/thctest.c:53: Error: symbol `_thc_cont_return_5' is already defined
../usr/tests/thctest/thctest.c:69: Error: symbol `_thc_cont_return_6' is already defined
../usr/tests/thctest/thctest.c:91: Error: symbol `_thc_cont_return_7' is already defined
../usr/tests/thctest/thctest.c:111: Error: symbol `_thc_cont_return_8' is already defined

8 years agoDummy commit. Still testing notification emails
Stefan Kästle [Mon, 11 Jun 2012 07:46:36 +0000]
Dummy commit. Still testing notification emails

8 years agoAnother dummy commit to test notification emails
Stefan Kästle [Fri, 8 Jun 2012 14:07:32 +0000]
Another dummy commit to test notification emails

8 years agoDummy commit to test email notifications
Stefan Kästle [Fri, 8 Jun 2012 13:59:06 +0000]
Dummy commit to test email notifications

8 years agoMoved the performance counter harness test for usr/examples to usr/tests
Stefan Kästle [Fri, 8 Jun 2012 12:58:36 +0000]
Moved the performance counter harness test for usr/examples to usr/tests

rename : usr/examples/xmpl-perfmon/Hakefile => usr/tests/perfmontest/Hakefile
rename : usr/examples/xmpl-perfmon/perfmon.c => usr/tests/perfmontest/perfmon.c

8 years agoAdded a harness test for performance counters.
Stefan Kästle [Fri, 8 Jun 2012 12:27:18 +0000]
Added a harness test for performance counters.

The test is based on the examples/xmpl-perfmon program. Note that we
only support performance counters on AMD machines for now.

8 years agoadding a tag for release 2012-06-06
Stefan Kästle [Wed, 6 Jun 2012 08:52:53 +0000]
adding a tag for release 2012-06-06

8 years agomerge fixes from Simon/Mark to Samuel's gem5-arm updates release2012-06-06
Kornilios Kourtis [Tue, 5 Jun 2012 07:47:50 +0000]
merge fixes from Simon/Mark to Samuel's gem5-arm updates

8 years agoadded comments for alignment workaround, added another gem5 patch, updated arm gem5...
Samuel Hitz [Mon, 4 Jun 2012 13:16:55 +0000]
added comments for alignment workaround, added another gem5 patch, updated arm gem5 README

8 years agofixed an inlining bug in arm-gcc, replaced chips with skb, add loglevel option to...
Samuel Hitz [Sat, 2 Jun 2012 09:54:42 +0000]
fixed an inlining bug in arm-gcc, replaced chips with skb, add loglevel option to gem5script

8 years agomerge
Samuel Hitz [Fri, 1 Jun 2012 14:16:19 +0000]

8 years agoadjust formatting in RuleDefs.hs
Samuel Hitz [Fri, 1 Jun 2012 14:14:46 +0000]
adjust formatting in RuleDefs.hs

8 years agofixed an inlining bug of arm-gcc 4.6.1 and lower
Samuel Hitz [Fri, 1 Jun 2012 13:28:17 +0000]
fixed an inlining bug of arm-gcc 4.6.1 and lower

8 years agoreverted Config.hs, save scratch registers to stack in exceptions.S
Samuel Hitz [Wed, 30 May 2012 16:42:22 +0000]
reverted Config.hs, save scratch registers to stack in exceptions.S

8 years agomodify_flags() for x86-32.
Simon Peter [Tue, 29 May 2012 13:49:25 +0000]
modify_flags() for x86-32.

Thanks to Jinghao Shi and Simon Gerber for the patches.

8 years agorenamed architecture from 'gem5' to 'arm_gem5'
Samuel Hitz [Tue, 29 May 2012 08:58:49 +0000]
renamed architecture from 'gem5' to 'arm_gem5'

rename : hake/Gem5.hs => hake/ArmGem5.hs
rename : hake/menu.lst.gem5 => hake/menu.lst.arm_gem5
rename : if/arch/gem5.if => if/arch/arm_gem5.if
rename : if/platform/gem5.if => if/platform/arm_gem5.if
rename : kernel/arch/gem5/boot.S => kernel/arch/arm_gem5/boot.S
rename : kernel/arch/gem5/exceptions.S => kernel/arch/arm_gem5/exceptions.S
rename : kernel/arch/gem5/init.c => kernel/arch/arm_gem5/init.c
rename : kernel/arch/gem5/integrator.c => kernel/arch/arm_gem5/integrator.c
rename : kernel/arch/gem5/ => kernel/arch/arm_gem5/
rename : kernel/arch/gem5/paging.c => kernel/arch/arm_gem5/paging.c
rename : kernel/arch/gem5/pl011_uart.c => kernel/arch/arm_gem5/pl011_uart.c
rename : kernel/arch/gem5/startup_arch.c => kernel/arch/arm_gem5/startup_arch.c
rename : kernel/include/arch/gem5/arch_gdb_stub.h => kernel/include/arch/arm_gem5/arch_gdb_stub.h
rename : kernel/include/arch/gem5/arm.h => kernel/include/arch/arm_gem5/arm.h
rename : kernel/include/arch/gem5/arm_hal.h => kernel/include/arch/arm_gem5/arm_hal.h
rename : kernel/include/arch/gem5/conio.h => kernel/include/arch/arm_gem5/conio.h
rename : kernel/include/arch/gem5/cp15.h => kernel/include/arch/arm_gem5/cp15.h
rename : kernel/include/arch/gem5/exceptions.h => kernel/include/arch/arm_gem5/exceptions.h
rename : kernel/include/arch/gem5/init.h => kernel/include/arch/arm_gem5/init.h
rename : kernel/include/arch/gem5/irq.h => kernel/include/arch/arm_gem5/irq.h
rename : kernel/include/arch/gem5/ixp2800_uart.h => kernel/include/arch/arm_gem5/ixp2800_uart.h
rename : kernel/include/arch/gem5/kputchar.h => kernel/include/arch/arm_gem5/kputchar.h
rename : kernel/include/arch/gem5/misc.h => kernel/include/arch/arm_gem5/misc.h
rename : kernel/include/arch/gem5/offsets.h => kernel/include/arch/arm_gem5/offsets.h
rename : kernel/include/arch/gem5/paging_kernel_arch.h => kernel/include/arch/arm_gem5/paging_kernel_arch.h
rename : kernel/include/arch/gem5/phys_mmap.h => kernel/include/arch/arm_gem5/phys_mmap.h
rename : kernel/include/arch/gem5/pl011_uart.h => kernel/include/arch/arm_gem5/pl011_uart.h
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/README => tools/arm_gem5/README
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/arm-core.xml => tools/arm_gem5/arm-core.xml
rename : tools/gem5/arm-vfpv3.xml => tools/arm_gem5/arm-vfpv3.xml
rename : tools/gem5/arm-with-neon.xml => tools/arm_gem5/arm-with-neon.xml
rename : tools/gem5/boot.arm => tools/arm_gem5/boot.arm
rename : tools/gem5/debug.gem5.gdb => tools/arm_gem5/debug.gem5.gdb
rename : tools/gem5/ => tools/arm_gem5/
rename : tools/gem5/ => tools/arm_gem5/

8 years agoremoved #inluce <stdio.h>, since no debug printf's anymore in these files
Samuel Hitz [Tue, 29 May 2012 07:48:30 +0000]
removed #inluce <stdio.h>, since no debug printf's anymore in these files

8 years agomore changes to get gem5 built with newlib
Samuel Hitz [Thu, 24 May 2012 07:31:34 +0000]
more changes to get gem5 built with newlib

8 years agouse newlib instead of oldc
Samuel Hitz [Thu, 24 May 2012 06:54:23 +0000]
use newlib instead of oldc

8 years agoreverted local Main.hs ghc7 patch
Samuel Hitz [Wed, 23 May 2012 17:13:06 +0000]
reverted local Main.hs ghc7 patch

8 years agoAdded tests and benchmarks for MDB.
Mark Nevill [Wed, 23 May 2012 10:28:09 +0000]
Added tests and benchmarks for MDB.

8 years agoFixed wrong assertion in mdb range query algorithm.
Mark Nevill [Wed, 23 May 2012 12:34:21 +0000]
Fixed wrong assertion in mdb range query algorithm.

8 years agoPut MDB-related types in new header.
Mark Nevill [Thu, 31 May 2012 13:02:45 +0000]
Put MDB-related types in new header.

8 years agoFixed some missing and circular includes.
Mark Nevill [Wed, 23 May 2012 10:13:38 +0000]
Fixed some missing and circular includes.

8 years agoincluded fixed release of gem5 incl. patches and instructions on how to use it
Samuel Hitz [Wed, 23 May 2012 07:46:53 +0000]
included fixed release of gem5 incl. patches and instructions on how to use it

8 years agoHarness: Store local changes to source repository in results directory.
Mark Nevill [Tue, 22 May 2012 16:40:01 +0000]
Harness: Store local changes to source repository in results directory.

With this change, the results directory contains a complete image of the
sources in the form of the mercurial commit id and the patch containing
any local changes. This should make it easier to recreate any results
based on uncommitted code.

8 years agoadding a tag for release 2012-05-25
Stefan Kästle [Fri, 25 May 2012 14:12:51 +0000]
adding a tag for release 2012-05-25

8 years agoSCC now booting all 48 cores as default, because the bootup is much faster. release2012-05-25
Stefan Kästle [Fri, 25 May 2012 12:48:42 +0000]
SCC now booting all 48 cores as default, because the bootup is much faster.

8 years agoBarrelfish was not coming up on more than 15 cores on the SCC. This was due to improp...
Stefan Kästle [Fri, 25 May 2012 10:06:24 +0000]
Barrelfish was not coming up on more than 15 cores on the SCC. This was due to improper configuration of shared memory regions among the cores.

This bug was introduced in revision 127:3e54b3f095f2.

8 years agoFixed a couple of more bugs related to the conversion of xapic to the
Stefan Kästle [Wed, 23 May 2012 12:44:36 +0000]
Fixed a couple of more bugs related to the conversion of xapic to the
Mackerel shift drivers.

These were introduced in revisions 129:ae6c49c8db8a and

8 years agoFixed UMP-IPI on the SCC (bug #241)
Stefan Kästle [Tue, 22 May 2012 16:49:02 +0000]
Fixed UMP-IPI on the SCC (bug #241)

The problem was caused by changeset 137:849105c2d704 with the
conversion of the xapic driver to the Mackerel shift driver
syntax. The xapic_lvt_lint_*_insert functions for bit-field
manipulation were not applied properly in SCC specific code, which
caused improper initialization of inter-core interrupt handling.

8 years agoslot_alloc: check for calling slot_free() on an unallocated slot
Mark Nevill [Tue, 22 May 2012 16:06:28 +0000]
slot_alloc: check for calling slot_free() on an unallocated slot

8 years agoremoved unnecessary files
Samuel Hitz [Tue, 22 May 2012 12:09:43 +0000]
removed unnecessary files

8 years agocreated a proper gem5 script
Samuel Hitz [Tue, 22 May 2012 12:06:52 +0000]
created a proper gem5 script

8 years agoadded alignment to struct spawndomain and struct slot_prealloc, introduced 'timeslice...
Samuel Hitz [Tue, 22 May 2012 10:29:52 +0000]
added alignment to struct spawndomain and struct slot_prealloc, introduced 'timeslice' argument for ARM

8 years agokernel and userspace now working, removed some debug printfs, general code cleanup
Samuel Hitz [Tue, 22 May 2012 09:59:02 +0000]
kernel and userspace now working, removed some debug printfs, general code cleanup

8 years agomerge
Mothy [Wed, 16 May 2012 09:16:06 +0000]

8 years ago- kernel ready
Samuel Hitz [Fri, 11 May 2012 09:32:20 +0000]
- kernel ready
- added 3 new devices for development board
- temporary added debug printfs

8 years agoAdded two more files; temporarily
Mothy [Mon, 7 May 2012 11:33:35 +0000]
Added two more files; temporarily

8 years agomerge
Mothy [Mon, 7 May 2012 11:32:53 +0000]

8 years agoMoved a lot of USB stuff around.
Mothy [Mon, 7 May 2012 11:32:46 +0000]
Moved a lot of USB stuff around.
Cleaned up existing EHCI code (prob. not working yet though)

rename : include/usb/usb/ch9.h => include/usb/ch9.h
rename : include/usb/usb/device_commands.h => include/usb/device_commands.h
rename : include/usb/usb/driver_locator.h => include/usb/driver_locator.h
rename : include/usb/usb/shared_state.h => include/usb/shared_state.h
rename : include/usb/usb/usb_debug.h => include/usb/usb_debug.h
rename : include/usb/usb/usb_device.h => include/usb/usb_device.h
rename : include/usb/usb/usb_pipe.h => include/usb/usb_pipe.h
rename : include/usb/usb/usb_services.h => include/usb/usb_services.h
rename : include/usb/usb/usb_topology.h => include/usb/usb_topology.h
rename : include/usb/usb/usbd.h => include/usb/usbd.h
rename : include/usb/driver/driver.h => usr/drivers/usb/driver_msd/driver.h
rename : include/usb/driver/driver_debug.h => usr/drivers/usb/driver_msd/driver_debug.h
rename : include/usb/driver/scsi.h => usr/drivers/usb/driver_msd/scsi.h
rename : include/usb/ehci/async_queue.h => usr/drivers/usb/ehci/async_queue.h
rename : include/usb/ehci/ehci.h => usr/drivers/usb/ehci/ehci.h
rename : include/usb/ehci/ehci_core.h => usr/drivers/usb/ehci/ehci_core.h
rename : include/usb/ehci/ehci_debug.h => usr/drivers/usb/ehci/ehci_debug.h
rename : include/usb/ehci/ehci_services.h => usr/drivers/usb/ehci/ehci_services.h
rename : include/usb/ehci/ehci_status.h => usr/drivers/usb/ehci/ehci_status.h
rename : include/usb/error_codes.h => usr/drivers/usb/ehci/error_codes.h
rename : include/usb/ehci/periodic_queue.h => usr/drivers/usb/ehci/periodic_queue.h

8 years agoRevert the change to WAITSET_POLL_CYCLES_DEFAULT.
Gerd Zellweger [Sat, 5 May 2012 20:38:21 +0000]
I initially tuned this value to reduce the variation
in my benchmarks and pushed it into the repo by accident :-/.
Interestingly, this change broke the vmkit testcase.

8 years agoTypo in Technical Note 013.
Raphael Fuchs [Sat, 5 May 2012 14:21:01 +0000]
Typo in Technical Note 013.

8 years agoFixed typos in Technical Note 011.
Raphael Fuchs [Sat, 5 May 2012 14:17:15 +0000]
Fixed typos in Technical Note 011.

The example code used 'ifname' as the name for the interface. All text and subsequent code, however, used 'ifname'.

8 years agoTypo in Technical Note 010: Barrelfish Specification.
Raphael Fuchs [Sat, 5 May 2012 14:10:51 +0000]
Typo in Technical Note 010: Barrelfish Specification.

8 years agoFixed bug in resource id defines.
Raphael Fuchs [Sat, 5 May 2012 14:03:44 +0000]
Fixed bug in resource id defines.

8 years agoTypos in Technical Note 001.
Raphael Fuchs [Sat, 5 May 2012 13:36:11 +0000]
Typos in Technical Note 001.

8 years agoTypo in Technical Note 000.
Raphael Fuchs [Sat, 5 May 2012 13:35:32 +0000]
Typo in Technical Note 000.