qemu-e2k/linux-user
Suraj Jitindar Singh 5d62725b2f 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>
2019-12-17 10:39:48 +11:00
..
aarch64 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
alpha linux-user/alpha: Set r20 secondary return value 2019-11-06 13:45:05 +01:00
arm linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
cris linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
generic linux-user: Introduce TARGET_HAVE_ARCH_STRUCT_FLOCK 2019-07-02 16:56:46 +02:00
host
hppa linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
i386 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
m68k linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
microblaze linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
mips linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
mips64 Supply missing header guards 2019-06-12 13:20:21 +02:00
nios2 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
openrisc linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
ppc target/ppc: Implement the VTB for HV access 2019-12-17 10:39:48 +11:00
riscv linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
s390x linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
sh4 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
sparc linux-user/sparc: Fix cpu_clone_regs_* 2019-11-06 13:44:19 +01:00
sparc64 Supply missing header guards 2019-06-12 13:20:21 +02:00
tilegx linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
x86_64 Supply missing header guards 2019-06-12 13:20:21 +02:00
xtensa linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c target/arm: Add support for DC CVAP & DC CVADP ins 2019-12-16 10:46:35 +00:00
errno_defs.h Supply missing header guards 2019-06-12 13:20:21 +02:00
exit.c *-user: notify plugin of exit 2019-10-28 15:12:38 +00:00
fd-trans.c Fix unsigned integer underflow in fd-trans.c 2019-10-21 11:34:18 +02:00
fd-trans.h
flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
flatload.c
ioctls.h linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls 2019-09-11 08:47:06 +02:00
linux_loop.h
linuxload.c
main.c linux-user: support -plugin option 2019-10-28 15:12:38 +00:00
Makefile.objs linux-user/m68k: remove simulator syscall interface 2019-06-26 17:14:41 +02:00
mmap.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu.h Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
safe-syscall.S
signal-common.h linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
signal.c linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user/strace: Let print_sockaddr() have a 'last' argument 2019-10-21 15:37:04 +02:00
strace.list linux-user/strace: Improve bind() output 2019-10-21 15:37:04 +02:00
syscall_defs.h linux-user/syscall: Align target_sockaddr fields using ABI types 2019-10-21 15:37:04 +02:00
syscall_types.h linux-user: fix to handle variably sized SIOCGSTAMP with new kernels 2019-07-19 09:33:55 +02:00
syscall.c linux-user: fix translation of statx structures 2019-11-25 12:57:58 +01:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events
uaccess.c
uname.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
uname.h
vm86.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00