sparc64: tick timers
Status from this message: Thanks, applied.
Get series with b4
b4 am 20100105231558.6526.44483.stgit@skyservVersions newest first
Patches in v1 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/9 | sparc64: trace pstate and global register set changestarget-sparc/ | +20 | 1 reply | |
| 2/9 | sparc64: add PSR and PIL to cpu state dumptarget-sparc/ | +1 | 1 reply | |
| 3/9 | sparc64: use helper_wrpil to check pending irq on writetarget-sparc/ target-sparc/ target-sparc/ | +16 | 1 reply | |
| 4/9 | sparc64: check for pending irq when pil, pstate or softint is changedtarget-sparc/ | +36 | 1 reply | |
| 5/9 | sparc64: add macros to deal with softint and timer interrupttarget-sparc/ | +6 | 1 reply | |
| 6/9 | sparc64: clear exception_index with -1 valuetarget-sparc/ | +1 | 4 replies | |
| 7/9 | sparc64: move cpu_interrupts_enabled to cpu.htarget-sparc/ target-sparc/ | +13 | 0 replies | |
| 8/9 | sparc64: interrupt trap handlingcpu-exec.c hw/ | +59 | 2 replies | |
| 9/9 | sparc64: reimplement tick timershw/ | +0 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [Qemu-devel] [PATCH 0/9] sparc64: tick timers
The following series deals with tick timers for sparc64. It is not complete solution yet, comments are welcome.
First two changes are really debug helpers,
so are not strictly required.
Central part is addressing how traps are taken, which includes taking trap when PSTATE.IE is changed, PIL mask is changed, and SOFTINT is written to. I did not used CPU_INTERRUPT_TIMER at all, instead all interrupts are delivered with CPU_INTERRUPT_HARD.
Last change is reimplementing tick timers without periodic timer framework. sparc64 timers are essentially one-shot since they provide trap on tick counter match only so require reloading for next time period. Still it may be cleaner to fix sun4u use of periodic timers.
These changes allow recent linux kernel to start scheduler works, and count about 200 bogomips before crashing later.
---
Igor V. Kovalenko (9):
sparc64: trace pstate and global register set changes
sparc64: add PSR and PIL to cpu state dump
sparc64: use helper_wrpil to check pending irq on write
sparc64: check for pending irq when pil, pstate or softint is changed
sparc64: add macros to deal with softint and timer interrupt
sparc64: clear exception_index with -1 value
sparc64: move cpu_interrupts_enabled to cpu.h
sparc64: interrupt trap handling
sparc64: reimplement tick timers
cpu-exec.c | 40 ++++---- hw/sun4u.c | 234 +++++++++++++++++++++++++++++++++++++--------- target-sparc/cpu.h | 19 ++++ target-sparc/exec.h | 13 --- target-sparc/helper.c | 1 target-sparc/helper.h | 1 target-sparc/op_helper.c | 75 ++++++++++++++- target-sparc/translate.c | 5 - 8 files changed, 304 insertions(+), 84 deletions(-)
Signature · 2 lines
Kind regards, Igor V. Kovalenko