7 years agoharness: s/arm/armv5/ release2012-10-03
Kornilios Kourtis [Fri, 28 Sep 2012 12:19:49 +0000]
harness: s/arm/armv5/

7 years agoarmv5: move cp15_invalidate_i_and_d_caches() to a .c file
Kornilios Kourtis [Fri, 28 Sep 2012 09:40:36 +0000]
armv5: move cp15_invalidate_i_and_d_caches() to a .c file

This makes armv5 compile again.

7 years agoFix broken printf("%ls") in newlib (#249)
Kornilios Kourtis [Mon, 24 Sep 2012 08:39:19 +0000]
Fix broken printf("%ls") in newlib (#249)

- create a Config.newlibAddCFlags and use it in newlib Hakefiles
- add D_MB_CAPABLE to enable wide characters
- stylistic changes

7 years agoadded device ID for Qemu's e1000
Andrew Baumann [Sat, 22 Sep 2012 00:00:36 +0000]
added device ID for Qemu's e1000

8 years agokaluga: don't crash if a module exists with no arguments
Andrew Baumann [Fri, 21 Sep 2012 19:46:27 +0000]
kaluga: don't crash if a module exists with no arguments

8 years agounbreak nfs client for threadsafe lwip
Andrew Baumann [Fri, 21 Sep 2012 19:45:19 +0000]
unbreak nfs client for threadsafe lwip

This function "wait_for_condition_fair()" looks dubious at best, but
I'm just trying to make stuff work. Don't blame me for touching it

8 years agoe1000: silence "no packet" printf that spams my console on qemu
Andrew Baumann [Fri, 21 Sep 2012 18:50:12 +0000]
e1000: silence "no packet" printf that spams my console on qemu

this is presumably indicative of a real error (we're taking interrupts
all the time), however since packets appear to be getting through I
don't want to deal with it right now.

8 years agounrot vbe driver
Andrew Baumann [Fri, 21 Sep 2012 18:40:06 +0000]
unrot vbe driver

8 years agore-expose lwip_init_ex() to external callers
Andrew Baumann [Fri, 21 Sep 2012 18:35:16 +0000]
re-expose lwip_init_ex() to external callers

I know we have a proliferation of lwip init APIs, but I need one to
which I can pass both mutex, waitset, and interface name.  If
lwip_init_auto_ex wasn't so stupid, I could use that, but I can't.  We
really should get away from naming the ethernet interfaces by the name
of their driver.

8 years agorevert vspace_map_anon_aligned API change, and try to make the interface slightly...
Andrew Baumann [Wed, 23 May 2012 19:55:58 +0000]
revert vspace_map_anon_aligned API change, and try to make the interface slightly saner

passing a struct memobj when you expect and use a larger struct
memobj_anon (and the caller must know this) is insanity

extra : transplant_source : %B4%1Fu%1E%16%22%D5%B7%0C%DA%09%0Dk%F6%9D%02%5C%8A%E8%2C

8 years agopci: strict aliasing fix for dodgy cast
Andrew Baumann [Fri, 21 Sep 2012 17:59:12 +0000]
pci: strict aliasing fix for dodgy cast

8 years agoSize of UMP message does not have to be equal to the cache-line size.
Stefan Kästle [Mon, 17 Sep 2012 13:29:44 +0000]
Size of UMP message does not have to be equal to the cache-line size.

8 years agoharness: s/arm/armv5/
Kornilios Kourtis [Fri, 7 Sep 2012 13:49:57 +0000]
harness: s/arm/armv5/

8 years agomerged pandaboard tree
Kornilios Kourtis [Fri, 7 Sep 2012 11:44:08 +0000]
merged pandaboard tree

8 years agoBugfix: free the key only if it's not put in the hashtable.
Simon Peter [Fri, 31 Aug 2012 14:47:25 +0000]
Bugfix: free the key only if it's not put in the hashtable.

8 years agoNumber of cores is now read from SCU. If more than one core is present, the SCU is...
Stefan Kästle [Fri, 24 Aug 2012 07:37:58 +0000]
Number of cores is now read from SCU. If more than one core is present, the SCU is enabled

8 years agoFixed misc. paths that were overlooked when renaming 'arm' to 'armv5'.
Simon Gerber [Mon, 20 Aug 2012 12:10:09 +0000]
Fixed misc. paths that were overlooked when renaming 'arm' to 'armv5'.

8 years agoRenamed ARM to ARMv5.
Simon Gerber [Mon, 20 Aug 2012 08:54:52 +0000]
Renamed ARM to ARMv5.

8 years agoAdded note about Config.enable_gem5 to tools/arm_gem5/README.
Simon Gerber [Fri, 17 Aug 2012 09:10:58 +0000]
Added note about Config.enable_gem5 to tools/arm_gem5/README.

8 years agoChanged ARMv7.hs to include -D__GEM5__ depending on Config.enable_gem5 instead of...
Simon Gerber [Fri, 17 Aug 2012 09:00:34 +0000]
Changed ARMv7.hs to include -D__GEM5__ depending on Config.enable_gem5 instead of always.

8 years agoMerged latest changes from Samuel's branch.
Simon Gerber [Thu, 16 Aug 2012 14:32:29 +0000]
Merged latest changes from Samuel's branch.

rename : kernel/arch/arm_gem5/init.c => kernel/arch/omap44xx/init.c

8 years agoFixed missed gem5 comment.
Simon Gerber [Thu, 16 Aug 2012 11:46:34 +0000]
Fixed missed gem5 comment.

8 years agoAdded demo for self-paging.
Simon Gerber [Thu, 16 Aug 2012 11:44:57 +0000]
Added demo for self-paging.

8 years agoRenamed arm_gem5 to armv7.
Simon Gerber [Thu, 16 Aug 2012 09:36:50 +0000]
Renamed arm_gem5 to armv7.

* Figure out if the __GEM5__ define actually refers to gem5 or just to ARMv7.

8 years agoUse arm-linux-gnueabi instead of arm-none-linux-gnueabi.
Simon Peter [Tue, 14 Aug 2012 11:44:22 +0000]
Use arm-linux-gnueabi instead of arm-none-linux-gnueabi.

8 years agoResurrected lwip_err_to_errval() in private header lwip/barrelfish.h
Simon Peter [Tue, 14 Aug 2012 10:09:03 +0000]
Resurrected lwip_err_to_errval() in private header lwip/barrelfish.h
(see thread on barrelfish list from 2012-08-13).

8 years agoInclude only necessary headers in lwIP headers, instead of full
Simon Peter [Mon, 13 Aug 2012 13:14:05 +0000]
Include only necessary headers in lwIP headers, instead of full
barrelfish.h. This is more compatible with POSIX apps, which mostly
are C89, while barrelfish.h is C99.

Removed lwip_err_to_errval(), which was marked to be removed and
caused problems with Postgres, because of it including errors/errno.h,
which is another C99 header.

8 years agoFixed dependency issue. The OMAP kernel depends on omap44xx_gpio device
Stefan Kästle [Fri, 10 Aug 2012 08:55:12 +0000]
Fixed dependency issue. The OMAP kernel depends on omap44xx_gpio device

8 years agoReorged files.
Mothy [Thu, 9 Aug 2012 15:29:04 +0000]
Reorged files.
GPIO defintions.
Flash one LEd :-(

rename : devices/ => devices/omap/
rename : devices/ => devices/omap/
rename : devices/ => devices/omap/

8 years agoRemove another file
Mothy [Thu, 9 Aug 2012 10:12:54 +0000]
Remove another file

8 years agoRemoved some redundant (identical) files.
Mothy [Thu, 9 Aug 2012 10:12:08 +0000]
Removed some redundant (identical) files.

rename : kernel/include/arch/x86_64/debug.h => kernel/include/arch/x86/debug.h
rename : kernel/include/arch/x86_64/pic.h => kernel/include/arch/x86/pic.h

8 years agoMoved ARMv7a MMU enabling code to cp15.S.
Mothy [Thu, 9 Aug 2012 09:14:37 +0000]
Moved ARMv7a MMU enabling code to cp15.S.
Cleaned up boot.S for ARMv7a.
Removed useless conio.h duplication (why was this here?)

rename : kernel/include/arch/x86_32/conio.h => kernel/include/arch/x86/conio.h

8 years agomerge
Mothy [Thu, 9 Aug 2012 08:15:11 +0000]

8 years agoCleaned up some assembly.
Mothy [Thu, 9 Aug 2012 08:13:29 +0000]
Cleaned up some assembly.
Added memory sizing (currently unused, but helpful).

8 years agoMoved cache control code from boot.S to arm_gem5/cp15.S
Simon Gerber [Thu, 9 Aug 2012 08:12:17 +0000]
Moved cache control code from boot.S to arm_gem5/cp15.S

8 years agoadding a tag for release 2012-08-08
Stefan Kästle [Wed, 8 Aug 2012 14:33:04 +0000]
adding a tag for release 2012-08-08

8 years agomerge
Mothy [Wed, 8 Aug 2012 14:23:26 +0000]

8 years agoSome fixes.
Mothy [Wed, 8 Aug 2012 14:23:19 +0000]
Some fixes.

8 years agoarm_molly: Fixed objdump command in
Simon Gerber [Wed, 8 Aug 2012 09:37:09 +0000]
arm_molly: Fixed objdump command in

8 years agoDuplicate file.
Mothy [Tue, 7 Aug 2012 13:13:31 +0000]
Duplicate file.

8 years agoDuplicate file.
Mothy [Tue, 7 Aug 2012 13:10:53 +0000]
Duplicate file.

8 years agoTreeshaking.
Mothy [Tue, 7 Aug 2012 13:07:33 +0000]

8 years agoFixed UART code for ARM5, for now.
Mothy [Tue, 7 Aug 2012 11:46:33 +0000]
Fixed UART code for ARM5, for now.

8 years agoDocumentation.
Mothy [Tue, 7 Aug 2012 10:41:10 +0000]
Fixed bug in other serial drivers.

8 years agoMerge
Mothy [Mon, 6 Aug 2012 16:18:32 +0000]

8 years agoNew serial interface inside the CPU driver.
Mothy [Mon, 6 Aug 2012 16:17:53 +0000]
New serial interface inside the CPU driver.

8 years agoEnabled caching again, and added appropriate tlb and cache flush in do_resume [Mon, 6 Aug 2012 12:22:21 +0000]
Enabled caching again, and added appropriate tlb and cache flush in do_resume
which enables transition from kernelspace to userspace.

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 agoMerge.
Mothy [Mon, 6 Aug 2012 07:28:07 +0000]

8 years agoEverything is working for 1 core. [Sun, 5 Aug 2012 02:24:19 +0000]
Everything is working for 1 core.
This includes init, mem_serv, monitor, ramfsd, skb, spawnd, startd and memtest.

8 years agoUserspace is working now. [Sat, 4 Aug 2012 22:22:55 +0000]
Userspace is working now.
There was an issue with stack pointer not restored properly,
but now it is fixed by restoring sp separately with help of temporary register.

Currently code stops somewhere in mem_serv with complain MM_ERR_OUT_OF_BOUNDS

8 years agofixed max interrupts and interrupt lines mix up
Samuel Hitz [Sat, 4 Aug 2012 15:38:48 +0000]
fixed max interrupts and interrupt lines mix up

8 years agoAdded USB configuration block
Mothy [Fri, 3 Aug 2012 14:38:12 +0000]
Added USB configuration block

8 years agomerge [Fri, 3 Aug 2012 12:48:03 +0000]

8 years agoMaking sure that system is always in privileged mode [Fri, 3 Aug 2012 12:41:54 +0000]
Making sure that system is always in privileged mode

8 years agoTreeshaking.
Mothy [Fri, 3 Aug 2012 12:22:51 +0000]

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

8 years agoMerge [Fri, 3 Aug 2012 11:40:28 +0000]

8 years agoFixed conflicting use of temporary directory for arm_molly
Mothy [Fri, 3 Aug 2012 11:18:23 +0000]
Fixed conflicting use of temporary directory for arm_molly

8 years agoBuild both GEM5 and OMAP CPU drivers in the same architecture.
Mothy [Fri, 3 Aug 2012 10:11:29 +0000]
Build both GEM5 and OMAP CPU drivers in the same architecture.
Fix bug in integrator.c (GIC driver).
Cleaned up badly formatted code (PLEASE observe the style guide!)

8 years agoCleaned up boot target for Pandaboard
Mothy [Thu, 2 Aug 2012 13:42:49 +0000]
Cleaned up boot target for Pandaboard

8 years agoAdded older GEM5 stuff: much treeshaking now required!
Mothy [Thu, 2 Aug 2012 13:26:03 +0000]
Added older GEM5 stuff: much treeshaking now required!

8 years agoRebuilt Hakefile for kernel to allow multiple CPU drivers
Mothy [Thu, 2 Aug 2012 13:25:05 +0000]
Rebuilt Hakefile for kernel to allow multiple CPU drivers

rename : kernel/arch/arm_gem5/boot.S => kernel/arch/omap44xx/boot.S
rename : kernel/arch/arm_gem5/exceptions.S => kernel/arch/omap44xx/exceptions.S
rename : kernel/arch/arm_gem5/exn.c => kernel/arch/omap44xx/exn.c
rename : kernel/arch/arm_gem5/init.c => kernel/arch/omap44xx/init.c
rename : kernel/arch/arm_gem5/integrator.c => kernel/arch/omap44xx/integrator.c
rename : kernel/arch/arm_gem5/kludges.c => kernel/arch/omap44xx/kludges.c
rename : kernel/arch/arm_gem5/kputchar.c => kernel/arch/omap44xx/kputchar.c
rename : kernel/arch/arm_gem5/ => kernel/arch/omap44xx/
rename : kernel/arch/arm_gem5/multiboot.c => kernel/arch/omap44xx/multiboot.c
rename : kernel/arch/arm_gem5/omap.c => kernel/arch/omap44xx/omap.c
rename : kernel/arch/arm_gem5/omap_uart.c => kernel/arch/omap44xx/omap_uart.c
rename : kernel/arch/arm_gem5/paging.c => kernel/arch/omap44xx/paging.c
rename : kernel/arch/arm_gem5/pl011_uart.c => kernel/arch/omap44xx/pl011_uart.c
rename : kernel/arch/arm_gem5/start_aps.c => kernel/arch/omap44xx/start_aps.c
rename : kernel/arch/arm_gem5/startup_arch.c => kernel/arch/omap44xx/startup_arch.c
rename : kernel/arch/arm_gem5/syscall.c => kernel/arch/omap44xx/syscall.c

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 agoMerge with Mothy
Stefan Kästle [Tue, 31 Jul 2012 15:00:26 +0000]
Merge with Mothy

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 agoSteps towards going to user-level.
Stefan Kästle [Tue, 31 Jul 2012 14:57:25 +0000]
Steps towards going to user-level.

The first sys_print works (from within the dispatcher of init), but
the state does not seem to be restored properly. The infinite-loop
after this sys_print is never reached. I assume the code to restore
the registers in swi_done is broken.

This code is not stable. A lot of things are disabled, e.g. caching,
interrupts. Also, there are some infinite loops in there.

8 years agopatch from Kornilios to get rid of issue of multiple declarations of exit [Tue, 31 Jul 2012 14:18:35 +0000]
patch from Kornilios to get rid of issue of multiple declarations of exit

8 years agoFixed typo in new OMAP definitions
Mothy [Tue, 31 Jul 2012 11:13:11 +0000]
Fixed typo in new OMAP definitions

8 years agoMerge.
Mothy [Tue, 31 Jul 2012 10:04:57 +0000]

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 agoFixed Octopus dependency bug.
Mothy [Sun, 29 Jul 2012 13:02:01 +0000]
Fixed Octopus dependency bug.
Cleanup some badly-formatted files.
Added new memory map for TI OMAP 44xx devices.

8 years agoAdded the newly introduced device into kernel Hakefile [Fri, 27 Jul 2012 15:22:53 +0000]
Added the newly introduced device into kernel Hakefile

8 years agomerge [Fri, 27 Jul 2012 15:07:13 +0000]

8 years agoMerge
Stefan Kästle [Fri, 27 Jul 2012 15:05:33 +0000]

8 years agoLocal timer interrupt is now periodic
Stefan Kästle [Fri, 27 Jul 2012 15:04:52 +0000]
Local timer interrupt is now periodic

8 years agomerge [Fri, 27 Jul 2012 14:59:52 +0000]

8 years agoCleaned up init code somewhat.
Mothy [Fri, 27 Jul 2012 14:55:25 +0000]
Cleaned up init code somewhat.

8 years agoCode is working with caching enabled. [Fri, 27 Jul 2012 14:54:26 +0000]
Code is working with caching enabled.

8 years agoadded alignment to kernel stack, since some ARM operations require the stack to be...
Samuel Hitz [Fri, 27 Jul 2012 14:43:46 +0000]
added alignment to kernel stack, since some ARM operations require the stack to be aligned to 8 byte

8 years agoadded multihop to be built for arm_gem5
Samuel Hitz [Fri, 27 Jul 2012 14:42:46 +0000]
added multihop to be built for arm_gem5

8 years agoadded new test to get memory usage of system without fish
Samuel Hitz [Fri, 27 Jul 2012 14:41:34 +0000]
added new test to get memory usage of system without fish

8 years agovarious adjustments to tests and benchmarks to get the to run with arm_gem5, adjusted...
Samuel Hitz [Fri, 27 Jul 2012 14:40:24 +0000]
various adjustments to tests and benchmarks to get the to run with arm_gem5, adjusted cpu clock to 1GHz, since a lot of configurations inside gem5 assume 1Ghz clock

8 years agoFixed the rest of the pl130 device specification and general cleanup.
Stefan Kästle [Fri, 27 Jul 2012 14:26:00 +0000]
Fixed the rest of the pl130 device specification and general cleanup.

pic_enable_interrupt needs to be fixed for SPI interrupts.

8 years agoMerge with main tree
Stefan Kästle [Fri, 27 Jul 2012 11:25:11 +0000]
Merge with main tree

8 years agoInterrupts working
Stefan Kästle [Thu, 26 Jul 2012 16:51:33 +0000]
Interrupts working

Managed to program the PIC and the local timer. Needed to update some
Mackerel registers. 32 Bit registers where accessed as 16 Bit
registers, which caused improperly aligned memory accesses (in fact,
even properly aligned accessed with 16 Bit access failed)

As we are not running in user-mode yet, the interrupts are currently
enabled somewhere in the middle of the kernel boot-up. The kernel will
just spin after that and wait for the interrupt. Then, it will crash,
since it does not know how to handle interrupts from the local timer.

Some serious cleanup of the code is required, though.

8 years agoNew function to map private memory region containing PIC, and timers. This mapping...
Stefan Kästle [Wed, 25 Jul 2012 12:59:57 +0000]
New function to map private memory region containing PIC, and timers. This mapping is than used to access all of these devices instead of mapping memory several times