From: Alexander Graf <agraf@suse.de>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Tom Musta <tommusta@gmail.com>,
blauwirbel@gmail.com, qemu-ppc@nongnu.org, aliguori@amazon.com,
aurelien@aurel32.net
Subject: [Qemu-devel] [PULL 115/130] target-ppc: Altivec 2.07: Binary Coded Decimal Instructions
Date: Fri, 7 Mar 2014 00:34:02 +0100 [thread overview]
Message-ID: <1394148857-19607-116-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1394148857-19607-1-git-send-email-agraf@suse.de>
From: Tom Musta <tommusta@gmail.com>
This patch add the Binary Coded Decimal instructions bcdadd. and
bcdsub.
Signed-off-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
target-ppc/helper.h | 3 +
target-ppc/int_helper.c | 201 ++++++++++++++++++++++++++++++++++++++++++++++++
target-ppc/translate.c | 45 ++++++++++-
3 files changed, 245 insertions(+), 4 deletions(-)
diff --git a/target-ppc/helper.h b/target-ppc/helper.h
index ca9eba5..ef6aa58 100644
--- a/target-ppc/helper.h
+++ b/target-ppc/helper.h
@@ -316,6 +316,9 @@ DEF_HELPER_3(vpmsumh, void, avr, avr, avr)
DEF_HELPER_3(vpmsumw, void, avr, avr, avr)
DEF_HELPER_3(vpmsumd, void, avr, avr, avr)
+DEF_HELPER_4(bcdadd, i32, avr, avr, avr, i32)
+DEF_HELPER_4(bcdsub, i32, avr, avr, avr, i32)
+
DEF_HELPER_2(xsadddp, void, env, i32)
DEF_HELPER_2(xssubdp, void, env, i32)
DEF_HELPER_2(xsmuldp, void, env, i32)
diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c
index 4e8e507..ce7c6a0 100644
--- a/target-ppc/int_helper.c
+++ b/target-ppc/int_helper.c
@@ -2136,6 +2136,207 @@ void helper_vsubecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c)
#endif
}
+#define BCD_PLUS_PREF_1 0xC
+#define BCD_PLUS_PREF_2 0xF
+#define BCD_PLUS_ALT_1 0xA
+#define BCD_NEG_PREF 0xD
+#define BCD_NEG_ALT 0xB
+#define BCD_PLUS_ALT_2 0xE
+
+#if defined(HOST_WORDS_BIGENDIAN)
+#define BCD_DIG_BYTE(n) (15 - (n/2))
+#else
+#define BCD_DIG_BYTE(n) (n/2)
+#endif
+
+static int bcd_get_sgn(ppc_avr_t *bcd)
+{
+ switch (bcd->u8[BCD_DIG_BYTE(0)] & 0xF) {
+ case BCD_PLUS_PREF_1:
+ case BCD_PLUS_PREF_2:
+ case BCD_PLUS_ALT_1:
+ case BCD_PLUS_ALT_2:
+ {
+ return 1;
+ }
+
+ case BCD_NEG_PREF:
+ case BCD_NEG_ALT:
+ {
+ return -1;
+ }
+
+ default:
+ {
+ return 0;
+ }
+ }
+}
+
+static int bcd_preferred_sgn(int sgn, int ps)
+{
+ if (sgn >= 0) {
+ return (ps == 0) ? BCD_PLUS_PREF_1 : BCD_PLUS_PREF_2;
+ } else {
+ return BCD_NEG_PREF;
+ }
+}
+
+static uint8_t bcd_get_digit(ppc_avr_t *bcd, int n, int *invalid)
+{
+ uint8_t result;
+ if (n & 1) {
+ result = bcd->u8[BCD_DIG_BYTE(n)] >> 4;
+ } else {
+ result = bcd->u8[BCD_DIG_BYTE(n)] & 0xF;
+ }
+
+ if (unlikely(result > 9)) {
+ *invalid = true;
+ }
+ return result;
+}
+
+static void bcd_put_digit(ppc_avr_t *bcd, uint8_t digit, int n)
+{
+ if (n & 1) {
+ bcd->u8[BCD_DIG_BYTE(n)] &= 0x0F;
+ bcd->u8[BCD_DIG_BYTE(n)] |= (digit<<4);
+ } else {
+ bcd->u8[BCD_DIG_BYTE(n)] &= 0xF0;
+ bcd->u8[BCD_DIG_BYTE(n)] |= digit;
+ }
+}
+
+static int bcd_cmp_mag(ppc_avr_t *a, ppc_avr_t *b)
+{
+ int i;
+ int invalid = 0;
+ for (i = 31; i > 0; i--) {
+ uint8_t dig_a = bcd_get_digit(a, i, &invalid);
+ uint8_t dig_b = bcd_get_digit(b, i, &invalid);
+ if (unlikely(invalid)) {
+ return 0; /* doesnt matter */
+ } else if (dig_a > dig_b) {
+ return 1;
+ } else if (dig_a < dig_b) {
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+static int bcd_add_mag(ppc_avr_t *t, ppc_avr_t *a, ppc_avr_t *b, int *invalid,
+ int *overflow)
+{
+ int carry = 0;
+ int i;
+ int is_zero = 1;
+ for (i = 1; i <= 31; i++) {
+ uint8_t digit = bcd_get_digit(a, i, invalid) +
+ bcd_get_digit(b, i, invalid) + carry;
+ is_zero &= (digit == 0);
+ if (digit > 9) {
+ carry = 1;
+ digit -= 10;
+ } else {
+ carry = 0;
+ }
+
+ bcd_put_digit(t, digit, i);
+
+ if (unlikely(*invalid)) {
+ return -1;
+ }
+ }
+
+ *overflow = carry;
+ return is_zero;
+}
+
+static int bcd_sub_mag(ppc_avr_t *t, ppc_avr_t *a, ppc_avr_t *b, int *invalid,
+ int *overflow)
+{
+ int carry = 0;
+ int i;
+ int is_zero = 1;
+ for (i = 1; i <= 31; i++) {
+ uint8_t digit = bcd_get_digit(a, i, invalid) -
+ bcd_get_digit(b, i, invalid) + carry;
+ is_zero &= (digit == 0);
+ if (digit & 0x80) {
+ carry = -1;
+ digit += 10;
+ } else {
+ carry = 0;
+ }
+
+ bcd_put_digit(t, digit, i);
+
+ if (unlikely(*invalid)) {
+ return -1;
+ }
+ }
+
+ *overflow = carry;
+ return is_zero;
+}
+
+uint32_t helper_bcdadd(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps)
+{
+
+ int sgna = bcd_get_sgn(a);
+ int sgnb = bcd_get_sgn(b);
+ int invalid = (sgna == 0) || (sgnb == 0);
+ int overflow = 0;
+ int zero = 0;
+ uint32_t cr = 0;
+ ppc_avr_t result = { .u64 = { 0, 0 } };
+
+ if (!invalid) {
+ if (sgna == sgnb) {
+ result.u8[BCD_DIG_BYTE(0)] = bcd_preferred_sgn(sgna, ps);
+ zero = bcd_add_mag(&result, a, b, &invalid, &overflow);
+ cr = (sgna > 0) ? 4 : 8;
+ } else if (bcd_cmp_mag(a, b) > 0) {
+ result.u8[BCD_DIG_BYTE(0)] = bcd_preferred_sgn(sgna, ps);
+ zero = bcd_sub_mag(&result, a, b, &invalid, &overflow);
+ cr = (sgna > 0) ? 4 : 8;
+ } else {
+ result.u8[BCD_DIG_BYTE(0)] = bcd_preferred_sgn(sgnb, ps);
+ zero = bcd_sub_mag(&result, b, a, &invalid, &overflow);
+ cr = (sgnb > 0) ? 4 : 8;
+ }
+ }
+
+ if (unlikely(invalid)) {
+ result.u64[HI_IDX] = result.u64[LO_IDX] = -1;
+ cr = 1;
+ } else if (overflow) {
+ cr |= 1;
+ } else if (zero) {
+ cr = 2;
+ }
+
+ *r = result;
+
+ return cr;
+}
+
+uint32_t helper_bcdsub(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps)
+{
+ ppc_avr_t bcopy = *b;
+ int sgnb = bcd_get_sgn(b);
+ if (sgnb < 0) {
+ bcd_put_digit(&bcopy, BCD_PLUS_PREF_1, 0);
+ } else if (sgnb > 0) {
+ bcd_put_digit(&bcopy, BCD_NEG_PREF, 0);
+ }
+ /* else invalid ... defer to bcdadd code for proper handling */
+
+ return helper_bcdadd(r, a, &bcopy, ps);
+}
#undef VECTOR_FOR_INORDER_I
#undef HI_IDX
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 706bd5d..2b46cd6 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -7377,6 +7377,43 @@ GEN_VXFORM(vpmsumh, 4, 17)
GEN_VXFORM(vpmsumw, 4, 18)
GEN_VXFORM(vpmsumd, 4, 19)
+#define GEN_BCD(op) \
+static void gen_##op(DisasContext *ctx) \
+{ \
+ TCGv_ptr ra, rb, rd; \
+ TCGv_i32 ps; \
+ \
+ if (unlikely(!ctx->altivec_enabled)) { \
+ gen_exception(ctx, POWERPC_EXCP_VPU); \
+ return; \
+ } \
+ \
+ ra = gen_avr_ptr(rA(ctx->opcode)); \
+ rb = gen_avr_ptr(rB(ctx->opcode)); \
+ rd = gen_avr_ptr(rD(ctx->opcode)); \
+ \
+ ps = tcg_const_i32((ctx->opcode & 0x200) != 0); \
+ \
+ gen_helper_##op(cpu_crf[6], rd, ra, rb, ps); \
+ \
+ tcg_temp_free_ptr(ra); \
+ tcg_temp_free_ptr(rb); \
+ tcg_temp_free_ptr(rd); \
+ tcg_temp_free_i32(ps); \
+}
+
+GEN_BCD(bcdadd)
+GEN_BCD(bcdsub)
+
+GEN_VXFORM_DUAL(vsububm, PPC_ALTIVEC, PPC_NONE, \
+ bcdadd, PPC_NONE, PPC2_ALTIVEC_207)
+GEN_VXFORM_DUAL(vsububs, PPC_ALTIVEC, PPC_NONE, \
+ bcdadd, PPC_NONE, PPC2_ALTIVEC_207)
+GEN_VXFORM_DUAL(vsubuhm, PPC_ALTIVEC, PPC_NONE, \
+ bcdsub, PPC_NONE, PPC2_ALTIVEC_207)
+GEN_VXFORM_DUAL(vsubuhs, PPC_ALTIVEC, PPC_NONE, \
+ bcdsub, PPC_NONE, PPC2_ALTIVEC_207)
+
/*** VSX extension ***/
static inline TCGv_i64 cpu_vsrh(int n)
@@ -10442,8 +10479,8 @@ GEN_VXFORM(vaddubm, 0, 0),
GEN_VXFORM(vadduhm, 0, 1),
GEN_VXFORM(vadduwm, 0, 2),
GEN_VXFORM_207(vaddudm, 0, 3),
-GEN_VXFORM(vsububm, 0, 16),
-GEN_VXFORM(vsubuhm, 0, 17),
+GEN_VXFORM_DUAL(vsububm, bcdadd, 0, 16, PPC_ALTIVEC, PPC_NONE),
+GEN_VXFORM_DUAL(vsubuhm, bcdsub, 0, 17, PPC_ALTIVEC, PPC_NONE),
GEN_VXFORM(vsubuwm, 0, 18),
GEN_VXFORM_207(vsubudm, 0, 19),
GEN_VXFORM(vmaxub, 1, 0),
@@ -10510,8 +10547,8 @@ GEN_VXFORM(vadduws, 0, 10),
GEN_VXFORM(vaddsbs, 0, 12),
GEN_VXFORM(vaddshs, 0, 13),
GEN_VXFORM(vaddsws, 0, 14),
-GEN_VXFORM(vsububs, 0, 24),
-GEN_VXFORM(vsubuhs, 0, 25),
+GEN_VXFORM_DUAL(vsububs, bcdadd, 0, 24, PPC_ALTIVEC, PPC_NONE),
+GEN_VXFORM_DUAL(vsubuhs, bcdsub, 0, 25, PPC_ALTIVEC, PPC_NONE),
GEN_VXFORM(vsubuws, 0, 26),
GEN_VXFORM(vsubsbs, 0, 28),
GEN_VXFORM(vsubshs, 0, 29),
--
1.8.1.4
next prev parent reply other threads:[~2014-03-06 23:35 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-06 23:32 [Qemu-devel] [PULL 00/130] ppc patch queue 2014-03-05 Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 001/130] target-ppc: fix compile error when PPC_DUMP_CPU is enabled Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 002/130] target-ppc: fix LPCR SPR number Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 003/130] target-ppc: remove powerpc 970gx Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 004/130] target-ppc: fix SPR_CTRL/SPR_UCTRL register numbers Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 005/130] target-ppc: remove embedded MMU SPRs from 970, P5+/7/7+/8 Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 006/130] target-ppc: remove unsupported SPRs from 970 and P5+ Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 007/130] KVM: Split QEMUMachine typedef into separate header Alexander Graf
2014-03-07 7:31 ` Paolo Bonzini
2014-03-06 23:32 ` [Qemu-devel] [PULL 008/130] kvm: Add a new machine option kvm-type Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 009/130] target-ppc: dump DAR and DSISR Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 010/130] target-ppc: fix Authority Mask Register init value Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 011/130] mmu-hash64: fix Virtual Page Class Key Protection Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 012/130] PPC: KVM: fix "set one register" Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 013/130] PPC: KVM: add support for LPCR Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 014/130] spapr-pci: enable adding PHB via -device Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 015/130] spapr_vscsi: Fix REPORT_LUNS handling Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 016/130] target-ppc: disable unsupported modes for SPR_CTRL/SPR_UCTRL Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 017/130] target-ppc: Add set_fprf Argument to fload_invalid_op_excp() Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 018/130] target-ppc: General Support for VSX Helpers Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 019/130] target-ppc: Add VSX ISA2.06 xadd/xsub Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 020/130] target-ppc: Add VSX ISA2.06 xmul Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 021/130] target-ppc: Add VSX ISA2.06 xdiv Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 022/130] target-ppc: Add VSX ISA2.06 xre Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 023/130] target-ppc: Add VSX ISA2.06 xsqrt Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 024/130] target-ppc: Add VSX ISA2.06 xrsqrte Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 025/130] target-ppc: Add VSX ISA2.06 xtdiv Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 026/130] target-ppc: Add VSX ISA2.06 xtsqrt Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 027/130] target-ppc: Add VSX ISA2.06 Multiply Add Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 028/130] target-ppc: Add VSX xscmp*dp Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 029/130] target-ppc: Add VSX xmax/xmin Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 030/130] target-ppc: Add VSX Vector Compare Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 031/130] target-ppc: Add VSX Floating Point to Floating Point Conversion Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 032/130] target-ppc: Add VSX ISA2.06 Integer " Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 033/130] target-ppc: Add VSX Rounding Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 034/130] target-ppc: VSX Stage 4: Add VSX 2.07 Flag Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 035/130] target-ppc: VSX Stage 4: Refactor lxsdx Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 036/130] target-ppc: VSX Stage 4: Add lxsiwax, lxsiwzx and lxsspx Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 037/130] target-ppc: VSX Stage 4: Refactor stxsdx Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 038/130] target-ppc: VSX Stage 4: Add stxsiwx and stxsspx Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 039/130] target-ppc: VSX Stage 4: Add xsaddsp and xssubsp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 040/130] target-ppc: VSX Stage 4: Add xsmulsp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 041/130] target-ppc: VSX Stage 4: Add xsdivsp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 042/130] target-ppc: VSX Stage 4: Add xsresp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 043/130] target-ppc: VSX Stage 4: Add xssqrtsp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 044/130] target-ppc: VSX Stage 4: add xsrsqrtesp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 045/130] target-ppc: VSX Stage 4: Add Scalar SP Fused Multiply-Adds Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 046/130] target-ppc: VSX Stage 4: Add xscvsxdsp and xscvuxdsp Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 047/130] target-ppc: VSX Stage 4: Add xxleqv, xxlnand and xxlorc Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 048/130] target-ppc: Move To/From VSR Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 049/130] target-ppc: Floating Merge Word Instructions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 050/130] target-ppc: Scalar Round to Single Precision Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 051/130] target-ppc: Scalar Non-Signalling Conversions Alexander Graf
2014-03-06 23:32 ` [Qemu-devel] [PULL 052/130] target-ppc: Add ISA2.06 bpermd Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 053/130] target-ppc: Add Flag for ISA2.06 Divide Extended Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 054/130] target-ppc: Add ISA2.06 divdeu[o] Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 055/130] target-ppc: Add ISA2.06 divde[o] Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 056/130] target-ppc: Add ISA 2.06 divweu[o] Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 057/130] target-ppc: Add ISA 2.06 divwe[o] Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 058/130] target-ppc: Add Flag for ISA2.06 Atomic Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 059/130] target-ppc: Add ISA2.06 lbarx, lharx Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 060/130] target-ppc: Add ISA 2.06 stbcx. and sthcx. Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 061/130] target-ppc: Add Flag for ISA V2.06 Floating Point Conversion Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 062/130] target-ppc: Add ISA2.06 Float to Integer Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 063/130] target-ppc: Add ISA 2.06 fcfid[u][s] Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 064/130] target-ppc: Fix and enable fri[mnpz] Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 065/130] target-ppc: Add Flag for Power ISA V2.06 Floating Point Test Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 066/130] target-ppc: Add ISA 2.06 ftdiv Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 067/130] target-ppc: Add ISA 2.06 ftsqrt Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 068/130] target-ppc: Enable frsqrtes on Power7 and Power8 Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 069/130] target-ppc: Add ISA2.06 lfiwzx Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 070/130] PPC: KVM: store SLB slot number Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 071/130] virtex_ml507: Add support for loading initrd images Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 072/130] PPC: KVM: suppress warnings about not supported SPRs Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 073/130] Add Enhanced Three-Speed Ethernet Controller (eTSEC) Alexander Graf
2014-03-09 8:02 ` Paolo Bonzini
2014-03-12 11:41 ` Fabien Chouteau
2014-03-12 18:22 ` Paolo Bonzini
2014-03-12 18:39 ` Andreas Färber
2014-03-14 11:23 ` Paolo Bonzini
2014-03-14 16:42 ` Fabien Chouteau
2014-03-06 23:33 ` [Qemu-devel] [PULL 074/130] spapr: support only ELF kernel images Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 075/130] moxie: fix load_elf() usage Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 076/130] elf-loader: add more return codes Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 077/130] spapr: print more detailed error message on failed load_elf() Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 078/130] target-ppc: Update external_htab even when HTAB is managed by kernel Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 079/130] qdev: Keep global allocation counter per bus Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 080/130] target-ppc: add extended opcodes for dcbt/dcbtst Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 081/130] target-ppc: Fix xxpermdi When T==A or T==B Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 082/130] target-ppc: Add Flag for bctar Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 083/130] target-ppc: Add Target Address SPR (TAR) to Power8 Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 084/130] target-ppc: Add bctar Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 085/130] target-ppc: Add Flag for ISA 2.07 Load/Store Quadword Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 086/130] target-ppc: Add is_user_mode Utility Routine Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 087/130] target-ppc: Load Quadword Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 088/130] target-ppc: Store Quadword Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 089/130] target-ppc: Add Load Quadword and Reserve Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 090/130] target-ppc: Add Store Quadword Conditional Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 091/130] target-ppc: Altivec 2.07: Add Instruction Flag Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 092/130] target-ppc: Altivec 2.07: Update AVR Structure Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 093/130] target-ppc: Altivec 2.07: Add GEN_VXFORM3 Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 094/130] target-ppc: Altivec 2.07: Add Support for Dual Altivec Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 095/130] target-ppc: Altivec 2.07: Add Opcode Macro for VX Form Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 096/130] target-ppc: Altivec 2.07: Add Support for R-Form Dual Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 097/130] target-ppc: Altivec 2.07: Vector Logical Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 098/130] target-ppc: Altivec 2.07: Add/Subtract Unsigned Doubleword Modulo Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 099/130] target-ppc: Altivec 2.07: Change VMUL_DO to Support 64-bit Integers Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 100/130] target-ppc: Altivec 2.07: Multiply Even/Odd Word Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 101/130] target-ppc: Altivec 2.07: vmuluw Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 102/130] target-ppc: Altivec 2.07: Add Vector Count Leading Zeroes Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 103/130] target-ppc: Altivec 2.07: Vector Population Count Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 104/130] target-ppc: Altivec 2.07: Vector Min/Max Doubleword Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 105/130] target-ppc: Altivec 2.07: Pack " Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 106/130] target-ppc: Altivec 2.07: Unpack Signed Word Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 107/130] target-ppc: Altivec 2.07: Vector Merge Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 108/130] target-ppc: Altivec 2.07: Change Bit Masks to Support 64-bit Rotates and Shifts Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 109/130] target-ppc: Altivec 2.07: Vector Doubleword Rotate and Shift Instructions Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 110/130] target-ppc: Altivec 2.07: Quadword Addition and Subtracation Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 111/130] target-ppc: Altivec 2.07: vbpermq Instruction Alexander Graf
2014-03-06 23:33 ` [Qemu-devel] [PULL 112/130] target-ppc: Altivec 2.07: Doubleword Compares Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 113/130] target-ppc: Altivec 2.07: Vector Gather Bits by Bytes Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 114/130] target-ppc: Altivec 2.07: Vector Polynomial Multiply Sum Alexander Graf
2014-03-06 23:34 ` Alexander Graf [this message]
2014-03-06 23:34 ` [Qemu-devel] [PULL 116/130] target-ppc: Altivec 2.07: AES Instructions Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 117/130] target-ppc: Altivec 2.07: Vector SHA Sigma Instructions Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 118/130] target-ppc: Altivec 2.07: Vector Permute and Exclusive OR Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 119/130] spapr-vlan: flush queue whenever can_receive can go from false to true Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 120/130] target-ppc/translate.c: Use ULL suffix for 64 bit constants Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 121/130] PPC: sPAPR: Only use getpagesize() when we run with kvm Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 122/130] target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 123/130] target-ppc: Use Additional Temporary in stqcx Case Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 124/130] target-ppc: Fix htab_mask calculation Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 125/130] target-ppc: Fix page table lookup with kvm enabled Alexander Graf
2014-03-14 11:26 ` Paolo Bonzini
2014-03-14 13:13 ` Aneesh Kumar K.V
2014-03-14 13:23 ` Paolo Bonzini
2014-03-06 23:34 ` [Qemu-devel] [PULL 126/130] target-ppc: Change the hpte store API Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 127/130] target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel htab Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 128/130] target-ppc: Introduce hypervisor call H_GET_TCE Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 129/130] target-ppc: add PowerPCCPU::cpu_dt_id Alexander Graf
2014-03-06 23:34 ` [Qemu-devel] [PULL 130/130] target-ppc: spapr: e500: fix to use cpu_dt_id Alexander Graf
2014-03-07 17:16 ` [Qemu-devel] [PULL 00/130] ppc patch queue 2014-03-05 Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1394148857-19607-116-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=aurelien@aurel32.net \
--cc=blauwirbel@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=tommusta@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).