mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
target/ppc: Implement the VTB for HV access
The virtual timebase register (VTB) is a 64-bit register which increments at the same rate as the timebase register, present on POWER8 and later processors. The register is able to be read/written by the hypervisor and read by the supervisor. All other accesses are illegal. Currently the VTB is just an alias for the timebase (TB) register. Implement the VTB so that is can be read/written independent of the TB. Make use of the existing method for accessing timebase facilities where by the compensation is stored and used to compute the value on reads/is updated on writes. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> [ clg: rebased on current ppc tree ] Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20191128134700.16091-2-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
2661f6ab2b
commit
5d62725b2f
7 changed files with 51 additions and 4 deletions
|
@ -45,6 +45,11 @@ target_ulong helper_load_atbu(CPUPPCState *env)
|
|||
return cpu_ppc_load_atbu(env);
|
||||
}
|
||||
|
||||
target_ulong helper_load_vtb(CPUPPCState *env)
|
||||
{
|
||||
return cpu_ppc_load_vtb(env);
|
||||
}
|
||||
|
||||
#if defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY)
|
||||
target_ulong helper_load_purr(CPUPPCState *env)
|
||||
{
|
||||
|
@ -113,6 +118,11 @@ void helper_store_hdecr(CPUPPCState *env, target_ulong val)
|
|||
cpu_ppc_store_hdecr(env, val);
|
||||
}
|
||||
|
||||
void helper_store_vtb(CPUPPCState *env, target_ulong val)
|
||||
{
|
||||
cpu_ppc_store_vtb(env, val);
|
||||
}
|
||||
|
||||
target_ulong helper_load_40x_pit(CPUPPCState *env)
|
||||
{
|
||||
return load_40x_pit(env);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue