mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
target/riscv: Add stimecmp support
stimecmp allows the supervisor mode to update stimecmp CSR directly to program the next timer interrupt. This CSR is part of the Sstc extension which was ratified recently. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Atish Patra <atishp@rivosinc.com> Message-Id: <20220824221357.41070-3-atishp@rivosinc.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
7cbcc538f4
commit
43888c2f18
8 changed files with 235 additions and 1 deletions
30
target/riscv/time_helper.h
Normal file
30
target/riscv/time_helper.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* RISC-V timer header file.
|
||||
*
|
||||
* Copyright (c) 2022 Rivos Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2 or later, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef RISCV_TIME_HELPER_H
|
||||
#define RISCV_TIME_HELPER_H
|
||||
|
||||
#include "cpu.h"
|
||||
#include "qemu/timer.h"
|
||||
|
||||
void riscv_timer_write_timecmp(RISCVCPU *cpu, QEMUTimer *timer,
|
||||
uint64_t timecmp, uint64_t delta,
|
||||
uint32_t timer_irq);
|
||||
void riscv_timer_init(RISCVCPU *cpu);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue