qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Finn Thain" <fthain@linux-m68k.org>
Subject: [PULL 15/18] qemu/bitops.h: add bitrev8 implementation
Date: Fri,  2 Jul 2021 15:35:54 +0200	[thread overview]
Message-ID: <20210702133557.60317-16-f4bug@amsat.org> (raw)
In-Reply-To: <20210702133557.60317-1-f4bug@amsat.org>

From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

This will be required for an upcoming checksum calculation.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Finn Thain <fthain@linux-m68k.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210625065401.30170-7-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 include/qemu/bitops.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h
index 03213ce952c..110c56e0993 100644
--- a/include/qemu/bitops.h
+++ b/include/qemu/bitops.h
@@ -618,4 +618,26 @@ static inline uint64_t half_unshuffle64(uint64_t x)
     return x;
 }
 
+/**
+ * bitrev8:
+ * @x: 8-bit value to be reversed
+ *
+ * Given an input value with bits::
+ *
+ *   ABCDEFGH
+ *
+ * return the value with its bits reversed from left to right::
+ *
+ *   HGFEDCBA
+ *
+ * Returns: the bit-reversed value.
+ */
+static inline uint8_t bitrev8(uint8_t x)
+{
+    x = ((x >> 1) & 0x55) | ((x << 1) & 0xaa);
+    x = ((x >> 2) & 0x33) | ((x << 2) & 0xcc);
+    x = (x >> 4) | (x << 4) ;
+    return x;
+}
+
 #endif
-- 
2.31.1



  parent reply	other threads:[~2021-07-02 13:51 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-02 13:35 [PULL 00/18] MIPS patches for 2021-07-02 Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 01/18] target/mips: Add declarations for generic TCG helpers Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 02/18] target/mips: Extract Code Compaction ASE translation routines Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 03/18] target/mips: Extract the microMIPS ISA " Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 04/18] target/mips: Extract nanoMIPS " Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 05/18] hw/pci-host/bonito: Trace PCI config accesses smaller than 32-bit Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 06/18] hw/pci-host/bonito: Allow " Philippe Mathieu-Daudé
2021-07-02 15:29   ` BALATON Zoltan
2021-07-02 13:35 ` [PULL 07/18] tests/acceptance: Test Linux on the Fuloong 2E machine Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 08/18] g364fb: use RAM memory region for framebuffer Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 09/18] g364fb: add VMStateDescription for G364SysBusState Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 10/18] dp8393x: checkpatch fixes Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 11/18] dp8393x: convert to trace-events Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 12/18] hw/mips/jazz: move PROM and checksum calculation from dp8393x device to board Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 13/18] hw/m68k/q800: " Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 14/18] dp8393x: remove onboard PROM containing MAC address and checksum Philippe Mathieu-Daudé
2021-07-02 13:35 ` Philippe Mathieu-Daudé [this message]
2021-07-02 13:35 ` [PULL 16/18] hw/m68k/q800: fix PROM checksum and MAC address storage Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 17/18] hw/mips/jazz: specify correct endian for dp8393x device Philippe Mathieu-Daudé
2021-07-02 13:35 ` [PULL 18/18] hw/mips/jazz: Map the UART devices unconditionally Philippe Mathieu-Daudé
2021-07-04 15:02 ` [PULL 00/18] MIPS patches for 2021-07-02 Peter Maydell
2021-07-04 15:24   ` Philippe Mathieu-Daudé

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=20210702133557.60317-16-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=fthain@linux-m68k.org \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=qemu-devel@nongnu.org \
    /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).