mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-13 00:29:50 +00:00
powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h
Opcode and xopcode are useful definitions not just for KVM. Move these definitions to asm/ppc-opcode.h for public use. Also add the opcodes for LHAUX and LWZUX. Signed-off-by: Jia Hongtao <hongtao.jia@freescale.com> Signed-off-by: Li Yang <leoli@freescale.com> [scottwood@freesacle.com: update commit message and rebase] Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
parent
3b2f64d00c
commit
9123c5ed45
@ -81,6 +81,53 @@
|
|||||||
#define __REGA0_R30 30
|
#define __REGA0_R30 30
|
||||||
#define __REGA0_R31 31
|
#define __REGA0_R31 31
|
||||||
|
|
||||||
|
/* opcode and xopcode for instructions */
|
||||||
|
#define OP_TRAP 3
|
||||||
|
#define OP_TRAP_64 2
|
||||||
|
|
||||||
|
#define OP_31_XOP_TRAP 4
|
||||||
|
#define OP_31_XOP_LWZX 23
|
||||||
|
#define OP_31_XOP_DCBST 54
|
||||||
|
#define OP_31_XOP_LWZUX 55
|
||||||
|
#define OP_31_XOP_TRAP_64 68
|
||||||
|
#define OP_31_XOP_DCBF 86
|
||||||
|
#define OP_31_XOP_LBZX 87
|
||||||
|
#define OP_31_XOP_STWX 151
|
||||||
|
#define OP_31_XOP_STBX 215
|
||||||
|
#define OP_31_XOP_LBZUX 119
|
||||||
|
#define OP_31_XOP_STBUX 247
|
||||||
|
#define OP_31_XOP_LHZX 279
|
||||||
|
#define OP_31_XOP_LHZUX 311
|
||||||
|
#define OP_31_XOP_MFSPR 339
|
||||||
|
#define OP_31_XOP_LHAX 343
|
||||||
|
#define OP_31_XOP_LHAUX 375
|
||||||
|
#define OP_31_XOP_STHX 407
|
||||||
|
#define OP_31_XOP_STHUX 439
|
||||||
|
#define OP_31_XOP_MTSPR 467
|
||||||
|
#define OP_31_XOP_DCBI 470
|
||||||
|
#define OP_31_XOP_LWBRX 534
|
||||||
|
#define OP_31_XOP_TLBSYNC 566
|
||||||
|
#define OP_31_XOP_STWBRX 662
|
||||||
|
#define OP_31_XOP_LHBRX 790
|
||||||
|
#define OP_31_XOP_STHBRX 918
|
||||||
|
|
||||||
|
#define OP_LWZ 32
|
||||||
|
#define OP_LD 58
|
||||||
|
#define OP_LWZU 33
|
||||||
|
#define OP_LBZ 34
|
||||||
|
#define OP_LBZU 35
|
||||||
|
#define OP_STW 36
|
||||||
|
#define OP_STWU 37
|
||||||
|
#define OP_STD 62
|
||||||
|
#define OP_STB 38
|
||||||
|
#define OP_STBU 39
|
||||||
|
#define OP_LHZ 40
|
||||||
|
#define OP_LHZU 41
|
||||||
|
#define OP_LHA 42
|
||||||
|
#define OP_LHAU 43
|
||||||
|
#define OP_STH 44
|
||||||
|
#define OP_STHU 45
|
||||||
|
|
||||||
/* sorted alphabetically */
|
/* sorted alphabetically */
|
||||||
#define PPC_INST_BHRBE 0x7c00025c
|
#define PPC_INST_BHRBE 0x7c00025c
|
||||||
#define PPC_INST_CLRBHRB 0x7c00035c
|
#define PPC_INST_CLRBHRB 0x7c00035c
|
||||||
|
@ -30,53 +30,10 @@
|
|||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/kvm_ppc.h>
|
#include <asm/kvm_ppc.h>
|
||||||
#include <asm/disassemble.h>
|
#include <asm/disassemble.h>
|
||||||
|
#include <asm/ppc-opcode.h>
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
#define OP_TRAP 3
|
|
||||||
#define OP_TRAP_64 2
|
|
||||||
|
|
||||||
#define OP_31_XOP_TRAP 4
|
|
||||||
#define OP_31_XOP_LWZX 23
|
|
||||||
#define OP_31_XOP_DCBST 54
|
|
||||||
#define OP_31_XOP_TRAP_64 68
|
|
||||||
#define OP_31_XOP_DCBF 86
|
|
||||||
#define OP_31_XOP_LBZX 87
|
|
||||||
#define OP_31_XOP_STWX 151
|
|
||||||
#define OP_31_XOP_STBX 215
|
|
||||||
#define OP_31_XOP_LBZUX 119
|
|
||||||
#define OP_31_XOP_STBUX 247
|
|
||||||
#define OP_31_XOP_LHZX 279
|
|
||||||
#define OP_31_XOP_LHZUX 311
|
|
||||||
#define OP_31_XOP_MFSPR 339
|
|
||||||
#define OP_31_XOP_LHAX 343
|
|
||||||
#define OP_31_XOP_STHX 407
|
|
||||||
#define OP_31_XOP_STHUX 439
|
|
||||||
#define OP_31_XOP_MTSPR 467
|
|
||||||
#define OP_31_XOP_DCBI 470
|
|
||||||
#define OP_31_XOP_LWBRX 534
|
|
||||||
#define OP_31_XOP_TLBSYNC 566
|
|
||||||
#define OP_31_XOP_STWBRX 662
|
|
||||||
#define OP_31_XOP_LHBRX 790
|
|
||||||
#define OP_31_XOP_STHBRX 918
|
|
||||||
|
|
||||||
#define OP_LWZ 32
|
|
||||||
#define OP_LD 58
|
|
||||||
#define OP_LWZU 33
|
|
||||||
#define OP_LBZ 34
|
|
||||||
#define OP_LBZU 35
|
|
||||||
#define OP_STW 36
|
|
||||||
#define OP_STWU 37
|
|
||||||
#define OP_STD 62
|
|
||||||
#define OP_STB 38
|
|
||||||
#define OP_STBU 39
|
|
||||||
#define OP_LHZ 40
|
|
||||||
#define OP_LHZU 41
|
|
||||||
#define OP_LHA 42
|
|
||||||
#define OP_LHAU 43
|
|
||||||
#define OP_STH 44
|
|
||||||
#define OP_STHU 45
|
|
||||||
|
|
||||||
void kvmppc_emulate_dec(struct kvm_vcpu *vcpu)
|
void kvmppc_emulate_dec(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
unsigned long dec_nsec;
|
unsigned long dec_nsec;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user