1
0
mirror of git://projects.qi-hardware.com/iris.git synced 2025-04-21 12:27:27 +03:00

usb-booting alarm clock, with split gui

This commit is contained in:
Bas Wijnen
2010-05-10 01:07:17 +02:00
parent a4b5d94200
commit 8c7cac36e6
24 changed files with 829 additions and 236 deletions

View File

@@ -171,13 +171,13 @@ static unsigned make_entry_lo (kPage *page):
return ((page->frame & ~0x80000000) >> 6) | flags
bool kMemory_arch_map (kMemory *mem, kPage *page, unsigned address):
if address >= 0x80000000:
dpanic (address, "trying to map to kernel address")
return false
if page->mapping != ~0:
mem->unmap (page)
if address == ~0:
return true
if address >= 0x80000000:
dpanic (address, "trying to map to kernel address")
return false
if address & ~PAGE_MASK:
dpanic (address, "mapping not page-aligned")
address &= PAGE_MASK

View File

@@ -58,6 +58,8 @@ static kThread *handle_exit ():
cp0_set (CP0_STATUS, 0x1000ff13)
else:
cp0_set (CP0_STATUS, 0x0000ff13)
dbg_push ((unsigned)current)
dbg_push (current->pc)
return current
/// A TLB miss has occurred. This is the slow version. It is only used
@@ -163,16 +165,7 @@ static void arch_invoke ():
msg.arg = old_current->find_capability (old_current->arch.t[1], &msg.copy[1])
msg.data[0] = Iris::Num (old_current->arch.a[0], old_current->arch.a[1])
msg.data[1] = Iris::Num (old_current->arch.a[2], old_current->arch.a[3])
dbg_push (old_current->arch.v[0])
dbg_push (old_current->arch.t[0])
dbg_push (old_current->arch.t[1])
dbg_push (old_current->arch.a[0])
dbg_push (old_current->arch.a[1])
dbg_push (old_current->arch.a[2])
dbg_push (old_current->arch.a[3])
dbg_push (0xdeadbeef)
target->invoke (&msg)
dbg_push (0xfacebeef)
if do_schedule && !must_wait:
// If the call was to schedule without wait, it isn't done yet.
schedule ()

View File

@@ -29,7 +29,7 @@ arch_iris_sources = mips/interrupts.cc mips/arch.cc
boot_sources = mips/init.cc mips/nanonote/board.cc
arch_headers = mips/arch.hh mips/nanonote/jz4740.hh mips/nanonote/board.hh devices.hh
boot_threads = bootinit udc
programs = init gpio lcd bsquare ball buzzer metronome elfrun
programs = init gpio lcd bsquare ball buzzer metronome elfrun alarm gui
all: test