[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 17/24] util: add linux bit ordering reversal
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v5 17/24] util: add linux bit ordering reversal functions |
Date: |
Thu, 28 Feb 2013 17:17:29 +0000 |
On 27 February 2013 07:15, Kuo-Jung Su <address@hidden> wrote:
> From: Kuo-Jung Su <address@hidden>
>
> Some ethernet mac relies on the bit ordering reversal functions
> to performance the multicast address hash code calculation.
> So I've ported the bitrev.[ch] from linux kernel into QEMU.
>
> Signed-off-by: Kuo-Jung Su <address@hidden>
> ---
> include/qemu/bitrev.h | 25 +++++++++++++++++++++
> util/Makefile.objs | 2 +-
> util/bitrev.c | 59
> +++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 85 insertions(+), 1 deletion(-)
> create mode 100644 include/qemu/bitrev.h
> create mode 100644 util/bitrev.c
>
> diff --git a/include/qemu/bitrev.h b/include/qemu/bitrev.h
> new file mode 100644
> index 0000000..7d570c2
> --- /dev/null
> +++ b/include/qemu/bitrev.h
There's no need for a new header just for these three functions:
put them in include/qemu/bitops.h.
Similarly, the implementations should go in utils/bitops.c.
There is a minor snag that bitops.[ch] are LGPL2.1+ and this code
is GPL2, but since LGPL lets you "upgrade" the LGPL code to GPL,
we can just mark the whole of bitops.[ch] as GPL by updating the
license statement at the top.
I've cc'd Anthony to advise on the specific mechanics of doing that.
> @@ -0,0 +1,25 @@
> +/*
> + * Bit ordering reversal functions (From linux-kernel/include/linux/bitrev.h)
> + *
> + * Written by Akinobu Mita <address@hidden>
> + * Ported to QEMU by Kuo-Jung Su <address@hidden>
> + *
> + * This code is licensed under GNU GPL
> + */
> +
> +#ifndef BITREV_H
> +#define BITREV_H
> +
> +#include "qemu-common.h"
> +
> +extern uint8_t const byte_rev_table[256];
> +
> +static inline uint8_t bitrev8(uint8_t byte)
> +{
> + return byte_rev_table[byte];
> +}
> +
> +extern uint16_t bitrev16(uint16_t in);
> +extern uint32_t bitrev32(uint32_t in);
Please provide documentation comments for all these functions
(in the header file, not in the .c file).
thanks
-- PMM
- [Qemu-devel] [PATCH v5 13/24] hw/arm: add Faraday FTNANDC021 nand flash controller support, (continued)
- [Qemu-devel] [PATCH v5 13/24] hw/arm: add Faraday FTNANDC021 nand flash controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 12/24] hw/nand.c: bug fix to erase operation, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 11/24] hw/nand.c: bug fix to BUSY/READY status bit, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 14/24] hw/arm: add Faraday FTI2C010 I2C controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 18/24] hw/arm: add Faraday FTGMAC100 1Gbps ethernet support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 24/24] hw/arm: add Faraday FTSPI020 SPI flash controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 17/24] util: add linux bit ordering reversal functions, Kuo-Jung Su, 2013/02/27
- Re: [Qemu-devel] [PATCH v5 17/24] util: add linux bit ordering reversal functions,
Peter Maydell <=
- [Qemu-devel] [PATCH v5 22/24] hw/arm: add Faraday FTMAC110 10/100Mbps ethernet support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 21/24] hw/arm: add Faraday FTSDC010 MMC/SD controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 23/24] hw/arm: add Faraday FTTMR010 timer support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 15/24] hw: add WM8731 codec support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 16/24] hw/arm: add Faraday FTSSP010 multi-function controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 19/24] hw/arm: add Faraday FTLCDC200 LCD controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 20/24] hw/arm: add Faraday FTTSC010 touchscreen controller support, Kuo-Jung Su, 2013/02/27