mirror of
git://projects.qi-hardware.com/iris.git
synced 2025-04-21 12:27:27 +03:00
Make it compile again; fixed poweroff problem
This commit is contained in:
@@ -23,6 +23,7 @@ Iris::Num start ():
|
||||
Iris::my_parent.provide_capability <Iris::Event> (self)
|
||||
cap = Iris::my_receiver.create_capability (INTERRUPT)
|
||||
Iris::my_parent.init_done ()
|
||||
font.printf ("Press a key to attempt reboot.\n")
|
||||
while true:
|
||||
Iris::wait ()
|
||||
switch Iris::recv.protected_data.l:
|
||||
@@ -38,13 +39,16 @@ Iris::Num start ():
|
||||
font.printf ("alarm: control event\n")
|
||||
break
|
||||
case KBD:
|
||||
// Key press
|
||||
unsigned time = rtc.get_time ()
|
||||
unsigned alarm = rtc.get_alarm ()
|
||||
unsigned enabled = Iris::recv.data[1].l
|
||||
font.printf ("%d %d %d", time, alarm, enabled)
|
||||
rtc.set_alarm (time + 10, cap)
|
||||
Iris::poweroff ()
|
||||
if Iris::recv.data[0].l & Iris::Keyboard::RELEASE:
|
||||
// Key release.
|
||||
Iris::poweroff ()
|
||||
else:
|
||||
// Key press.
|
||||
unsigned time = rtc.get_time ()
|
||||
rtc.set_alarm (time + 5, cap)
|
||||
unsigned alarm = rtc.get_alarm ()
|
||||
unsigned enabled = Iris::recv.data[1].l
|
||||
font.printf ("Debug: %d %d %d\n", time, alarm, enabled)
|
||||
break
|
||||
default:
|
||||
Iris::panic (Iris::recv.protected_data.l, "invalid request for alarm")
|
||||
|
||||
@@ -51,8 +51,8 @@ Iris::Num start ():
|
||||
rtc_set_adjc_val (0)
|
||||
ready ()
|
||||
rtc_set_second (0)
|
||||
ready ()
|
||||
rtc_disable_1Hz_irq ()
|
||||
ready ()
|
||||
rtc_set_alarm_second (0)
|
||||
ready ()
|
||||
rtc_disable_alarm ()
|
||||
ready ()
|
||||
@@ -60,6 +60,8 @@ Iris::Num start ():
|
||||
ready ()
|
||||
rtc_enable_alarm_irq ()
|
||||
ready ()
|
||||
rtc_disable_1Hz_irq ()
|
||||
ready ()
|
||||
rtc_set_hwfcr_val (0)
|
||||
ready ()
|
||||
rtc_set_hrcr_val (0)
|
||||
|
||||
@@ -459,8 +459,10 @@ void Mmc::read_page (Iris::Page page, Iris::Num address, unsigned size, unsigned
|
||||
offset &= ~PAGE_MASK & ~3
|
||||
if size + offset > PAGE_SIZE:
|
||||
size = PAGE_SIZE - offset
|
||||
page.set_flags (Iris::Page::PAYING | Iris::Page::FRAME)
|
||||
page.share (buffer_page)
|
||||
buffer_page.set_flags (Iris::Page::PAYING | Iris::Page::FRAME)
|
||||
page.set_flags (0, Iris::Page::PAYING)
|
||||
for unsigned i = 0; i < size; i += 4:
|
||||
((unsigned *)buffer)[(offset + i) >> 2] = current_block[(start_pos + i) >> 2]
|
||||
|
||||
@@ -475,8 +477,10 @@ void Mmc::write_page (Iris::Page page, Iris::Num address, unsigned size, unsigne
|
||||
offset &= ~PAGE_MASK & ~3
|
||||
if size + offset > PAGE_SIZE:
|
||||
size = PAGE_SIZE - offset
|
||||
page.set_flags (Iris::Page::PAYING | Iris::Page::FRAME)
|
||||
page.share (buffer_page)
|
||||
buffer_page.set_flags (Iris::Page::PAYING | Iris::Page::FRAME)
|
||||
page.set_flags (0, Iris::Page::PAYING)
|
||||
for unsigned i = 0; i < size; i += 4:
|
||||
current_block[(start_pos + i) >> 2] = ((unsigned *)buffer)[(offset + i) >> 2]
|
||||
dirty = true
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#pypp 0
|
||||
// vim: set filetype=cpp : //
|
||||
// Iris: micro-kernel for a capability-based operating system.
|
||||
// boot-programs/udc.ccp: USB device controller driver.
|
||||
// Copyright 2009 Bas Wijnen <wijnen@debian.org>
|
||||
@@ -551,13 +552,14 @@ enum pdata:
|
||||
NAME
|
||||
|
||||
Iris::Num start ():
|
||||
Iris::debug ("udc started")
|
||||
map_udc ()
|
||||
map_gpio ()
|
||||
map_cpm ()
|
||||
Udc udc
|
||||
|
||||
//Iris::Cap logcap = Iris::my_receiver.create_capability (LOG)
|
||||
//__asm__ volatile ("li $a0, 1\nlw $a1, %0\nbreak" :: "m"(logcap.code): "a0", "a1", "memory")
|
||||
//__asm__ volatile ("li $a0, 1\nlw $a1, %0\nbreak" :: "m"(logcap.code): "a0", "a1")
|
||||
Iris::Directory dir = Iris::my_receiver.create_capability (DIRECTORY)
|
||||
Iris::my_parent.provide_capability <Iris::Directory> (dir.copy ())
|
||||
Iris::free_cap (dir)
|
||||
|
||||
Reference in New Issue
Block a user