From 82025997d0b231e667d1d508ea5f4e9bf7d9af89 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sun, 12 Aug 2001 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2001-08-12 --- bitsy/fns.h | 2 +- bitsy/l.s | 10 ---------- bitsy/power.c | 8 +++++--- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/bitsy/fns.h b/bitsy/fns.h index b279eb74e50d3189346681749c31f3b98121107f..7eb2c8386d51f174f35300d3fcd8ae1bcb29ab86 100644 --- a/bitsy/fns.h +++ b/bitsy/fns.h @@ -32,7 +32,7 @@ ulong getfar(void); ulong getfsr(void); void* getlink(void); #define getpgcolor(a) 0 -void* getsp(void); +ulong getsp(void); void gpiointrenable(ulong, int, void (*)(Ureg*, void*), void*, char*); void h3650uartsetup(void); void icacheinvalidate(void); diff --git a/bitsy/l.s b/bitsy/l.s index fd9110d0519458d9239d8908d7e7453756858dc1..4ed5823bc452a718f2f2184ca30929897f05f606 100644 --- a/bitsy/l.s +++ b/bitsy/l.s @@ -451,16 +451,6 @@ TEXT gotolabel(SB), $-4 MOVW $1, R0 RET -/* Debugging print routine */ -TEXT _PrChar(SB), $-4 - MOVW UART3REGS, R1 -prloop: - MOVW 0x20(R1), R2 - AND $0x4, R2 - BEQ prloop - MOVB R0,0x14(R1) - RET - /* save the state machine in power_resume[] for an upcoming suspend */ TEXT setpowerlabel(SB), $-4 diff --git a/bitsy/power.c b/bitsy/power.c index b6388847c4a157bbd71a97c3655f72a525a8ccee..36df16998015ace4ea4bb89b0135152ad435c858 100644 --- a/bitsy/power.c +++ b/bitsy/power.c @@ -141,12 +141,13 @@ powerdown(void *) void deepsleep(void) { static int power_pl; - void *xsp, *xlink; + ulong xsp, xlink; power_pl = splhi(); delay(50); + xlink = getcallerpc(&xlink); /* Power down */ - iprint("entering suspend mode\n"); + iprint("entering suspend mode, sp = 0x%lux, pc = 0x%lux, psw = 0x%lux\n", &xsp, xlink, power_pl); dumpitall(); uartpower(0); clockpower(0); @@ -180,8 +181,9 @@ deepsleep(void) { gpclkregs->r0 = 1<<0; µcpower(1); screenpower(1); - iprint("\nresuming execution\n"); dumpitall(); + xlink = getcallerpc(&xlink); + iprint("\nresuming execution, sp = 0x%lux, pc = 0x%lux, psw = 0x%lux\n", &xsp, xlink, splhi()); delay(800); splx(power_pl); return;