From: Peter Maydell <peter.maydell@linaro.org>
To: Sergey Kambalin <serg.oker@gmail.com>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org,
Sergey Kambalin <sergey.kambalin@auriga.com>
Subject: Re: [PATCH 18/44] Add RNG200 RNG and RBG
Date: Fri, 4 Aug 2023 15:27:15 +0100 [thread overview]
Message-ID: <CAFEAcA8BEMFuCiGMTamyZRbE95q5UcuMkj-OpjbvPwxswS1g5g@mail.gmail.com> (raw)
In-Reply-To: <20230726132512.149618-19-sergey.kambalin@auriga.com>
On Wed, 26 Jul 2023 at 14:29, Sergey Kambalin <serg.oker@gmail.com> wrote:
>
> Signed-off-by: Sergey Kambalin <sergey.kambalin@auriga.com>
> ---
> hw/misc/bcm2838_rng200.c | 218 ++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 217 insertions(+), 1 deletion(-)
>
> diff --git a/hw/misc/bcm2838_rng200.c b/hw/misc/bcm2838_rng200.c
> index a17e8f2cda..bfc40658e2 100644
> --- a/hw/misc/bcm2838_rng200.c
> +++ b/hw/misc/bcm2838_rng200.c
> @@ -8,23 +8,194 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qemu/log.h"
> #include "qapi/error.h"
> #include "hw/qdev-properties.h"
> #include "hw/misc/bcm2838_rng200.h"
> #include "trace.h"
>
> +#define RNG_CTRL_OFFSET 0x00
> +#define RNG_SOFT_RESET 0x01
> +#define RNG_SOFT_RESET_OFFSET 0x04
> +#define RBG_SOFT_RESET_OFFSET 0x08
> +#define RNG_TOTAL_BIT_COUNT_OFFSET 0x0C
> +#define RNG_TOTAL_BIT_COUNT_THRESHOLD_OFFSET 0x10
> +#define RNG_INT_STATUS_OFFSET 0x18
> +#define RNG_INT_ENABLE_OFFSET 0x1C
> +#define RNG_FIFO_DATA_OFFSET 0x20
> +#define RNG_FIFO_COUNT_OFFSET 0x24
> +
> +#define RNG_WARM_UP_PERIOD_ELAPSED 17
> +
> +#define BCM2838_RNG200_PTIMER_POLICY (PTIMER_POLICY_CONTINUOUS_TRIGGER)
> +
> +static void bcm2838_rng200_update_irq(BCM2838Rng200State *state)
> +{
> + qemu_set_irq(state->irq, !!(state->rng_int_enable.value
> + & state->rng_int_status.value));
If the RNG is disabled, is the interrupt line still asserted?
If not, we need to check the rng-enabled bit here and also
make sure we do an update-irq call when that bit of the control
register changes.
> +}
> +
> +static void bcm2838_rng200_update_fifo(void *opaque, const void *buf,
> + size_t size)
> +{
> + BCM2838Rng200State *state = (BCM2838Rng200State *)opaque;
> + Fifo8 *fifo = &state->fifo;
> + size_t num = MIN(size, fifo8_num_free(fifo));
> + uint32_t num_bits = num * 8;
> + uint32_t bit_threshold_left = 0;
> +
> + state->rng_total_bit_count += num_bits;
> + if (state->rng_bit_count_threshold > state->rng_total_bit_count) {
> + bit_threshold_left =
> + state->rng_bit_count_threshold - state->rng_total_bit_count;
> + } else {
> + bit_threshold_left = 0;
> + }
> +
> + if (bit_threshold_left < num_bits) {
> + num_bits -= bit_threshold_left;
> + } else {
> + num_bits = 0;
> + }
> +
> + num = num_bits / 8;
> + if ((num == 0) && (num_bits > 0)) {
> + num = 1;
> + }
> + if (num > 0) {
> + fifo8_push_all(fifo, buf, num);
> +
> + if (fifo8_num_used(fifo) > state->rng_fifo_count.thld) {
> + state->rng_int_status.total_bits_count_irq = 1;
> + }
> + }
> +
> + state->rng_fifo_count.count = fifo8_num_used(fifo) >> 2;
> + bcm2838_rng200_update_irq(state);
> + trace_bcm2838_rng200_update_fifo(num, fifo8_num_used(fifo));
> +}
> +
> +static void bcm2838_rng200_fill_fifo(BCM2838Rng200State *state)
> +{
> + rng_backend_request_entropy(state->rng,
> + fifo8_num_free(&state->fifo),
> + bcm2838_rng200_update_fifo, state);
> +}
> +
> +/* state is temporary unused */
> +static void bcm2838_rng200_disable_rbg(BCM2838Rng200State *state
> + __attribute__((unused)))
> +{
> + trace_bcm2838_rng200_disable_rbg();
> +}
> +
> +static void bcm2838_rng200_enable_rbg(BCM2838Rng200State *state)
> +{
> + state->rng_total_bit_count = RNG_WARM_UP_PERIOD_ELAPSED;
> +
> + bcm2838_rng200_fill_fifo(state);
> +
> + trace_bcm2838_rng200_enable_rbg();
> +}
> +
> static void bcm2838_rng200_rng_reset(BCM2838Rng200State *state)
> {
> state->rng_ctrl.value = 0;
> + state->rng_total_bit_count = 0;
> + state->rng_bit_count_threshold = 0;
> + state->rng_fifo_count.value = 0;
> + state->rng_int_status.value = 0;
> + state->rng_int_status.startup_transition_met_irq = 1;
> + state->rng_int_enable.value = 0;
> + fifo8_reset(&state->fifo);
>
> trace_bcm2838_rng200_rng_soft_reset();
> }
>
> +static void bcm2838_rng200_rbg_reset(BCM2838Rng200State *state)
> +{
> + trace_bcm2838_rng200_rbg_soft_reset();
> +}
> +
> +static uint32_t bcm2838_rng200_read_fifo_data(BCM2838Rng200State *state)
> +{
> + Fifo8 *fifo = &state->fifo;
> + const uint8_t *buf;
> + uint32_t ret = 0;
> + uint32_t num = 0;
> + uint32_t max = MIN(fifo8_num_used(fifo), sizeof(ret));
> +
> + if (max > 0) {
> + buf = fifo8_pop_buf(fifo, max, &num);
> + if ((buf != NULL) && (num > 0)) {
> + memcpy(&ret, buf, num);
Copying from a byte buffer into a uint32_t like this isn't
endianness-safe. fifo8_pop_buf() also won't give you all
the data in the fifo if it happens to be wrapping around the
end of the ring buffer. You can rely on it returning
you at least some data, though, so the NULL check is not
needed. So you want something like:
uint32_t to_read = MIN(fifo8_num_used(fifo), 4);
uint8_t byte_buf[4] = {};
uint8_t *p = byte_buf;
while (to_read) {
buf = fifo8_pop_buf(fifo, to_read, &num);
memcpy(p, buf, num);
p += num;
to_read -= num;
}
ret = ldl_le_p(byte_buf);
(assuming that the hardware spec is that the first bytes
out of the fifo go in the least-significant word of the
result when there isn't enough to fill a full word.)
> + }
> + } else {
> + qemu_log_mask(
> + LOG_GUEST_ERROR,
> + "bcm2838_rng200_read_fifo_data: FIFO is empty\n"
> + );
> + }
> +
> + state->rng_fifo_count.count = fifo8_num_used(fifo) >> 2;
> + bcm2838_rng200_fill_fifo(state);
> +
> + return ret;
> +}
> @@ -89,7 +305,7 @@ static Property bcm2838_rng200_properties[] = {
> DEFINE_PROP_UINT32("rng-fifo-cap", BCM2838Rng200State, rng_fifo_cap, 128),
> DEFINE_PROP_LINK("rng", BCM2838Rng200State, rng,
> TYPE_RNG_BACKEND, RngBackend *),
> - DEFINE_PROP_BOOL("use-timer", BCM2838Rng200State, use_timer, true),
> + DEFINE_PROP_BOOL("use-timer", BCM2838Rng200State, use_timer, false),
This looks like it ought to be folded into some other patch, assuming
we keep the property at all.
thanks
-- PMM
next prev parent reply other threads:[~2023-08-04 14:28 UTC|newest]
Thread overview: 216+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-26 13:24 [PATCH 00/44] Raspberry Pi 4B machine Sergey Kambalin
2023-07-26 13:24 ` [PATCH 01/44] Split out common part of BCM283X classes Sergey Kambalin
2023-08-03 15:48 ` Peter Maydell
2023-08-03 16:10 ` Peter Maydell
2023-08-03 16:15 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 02/44] Split out common part of peripherals Sergey Kambalin
2023-08-03 15:52 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 03/44] Split out raspi machine common part Sergey Kambalin
2023-08-04 10:33 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 04/44] Introduce BCM2838 SoC Sergey Kambalin
2023-08-03 16:31 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 05/44] Add GIC-400 to " Sergey Kambalin
2023-08-04 10:50 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 06/44] Add BCM2838 GPIO stub Sergey Kambalin
2023-08-04 12:11 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 07/44] Implement BCM2838 GPIO functionality Sergey Kambalin
2023-08-04 12:21 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 08/44] Connect SD controller to BCM2838 GPIO Sergey Kambalin
2023-08-04 12:28 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 09/44] Add GPIO and SD to BCM2838 periph Sergey Kambalin
2023-08-04 12:29 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 10/44] Add BCM2838 checkpoint support Sergey Kambalin
2023-08-04 12:30 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 11/44] Introduce Raspberry PI 4 machine Sergey Kambalin
2023-08-04 12:39 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 12/44] Temporary disable unimplemented rpi4b devices Sergey Kambalin
2023-08-04 12:53 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 13/44] Add memory region for BCM2837 RPiVid ASB Sergey Kambalin
2023-08-04 12:56 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 14/44] Add BCM2838 PCIE Root Complex Sergey Kambalin
2023-08-04 13:04 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 15/44] Add BCM2838 PCIE host Sergey Kambalin
2023-08-04 13:09 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 16/44] Enable BCM2838 PCIE Sergey Kambalin
2023-08-04 13:09 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 17/44] Add RNG200 skeleton Sergey Kambalin
2023-08-04 13:25 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 18/44] Add RNG200 RNG and RBG Sergey Kambalin
2023-08-04 14:27 ` Peter Maydell [this message]
2023-07-26 13:24 ` [PATCH 19/44] Add RNG200 timer Sergey Kambalin
2023-08-04 14:31 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 20/44] Implement BCM2838 thermal sensor Sergey Kambalin
2023-08-04 14:38 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 21/44] Add clock_isp stub Sergey Kambalin
2023-08-04 14:39 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 22/44] Add GENET stub Sergey Kambalin
2023-08-04 14:47 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 23/44] Add GENET register structs. Part 1 Sergey Kambalin
2023-08-04 14:48 ` Peter Maydell
2023-07-26 13:24 ` [PATCH 24/44] Add GENET register structs. Part 2 Sergey Kambalin
2023-07-26 13:24 ` [PATCH 25/44] Add GENET register structs. Part 3 Sergey Kambalin
2023-07-26 13:24 ` [PATCH 26/44] Add GENET register structs. Part 4 Sergey Kambalin
2023-07-26 13:24 ` [PATCH 27/44] Add GENET register access macros Sergey Kambalin
2023-07-26 13:24 ` [PATCH 28/44] Impl GENET register ops Sergey Kambalin
2023-07-26 13:24 ` [PATCH 29/44] Impl GENET MDIO Sergey Kambalin
2023-07-26 13:24 ` [PATCH 30/44] Impl GENET TX path Sergey Kambalin
2023-07-26 13:24 ` [PATCH 31/44] Impl GENET RX path Sergey Kambalin
2023-07-26 13:25 ` [PATCH 32/44] Enable BCM2838 GENET controller Sergey Kambalin
2023-08-04 14:49 ` Peter Maydell
2023-07-26 13:25 ` [PATCH 33/44] Connect RNG200, PCIE and GENET to GIC Sergey Kambalin
2023-08-04 14:53 ` Peter Maydell
2023-07-26 13:25 ` [PATCH 34/44] Add Rpi4b boot tests Sergey Kambalin
2023-08-04 14:54 ` Peter Maydell
2023-07-26 13:25 ` [PATCH 35/44] Add mailbox test stub Sergey Kambalin
2023-08-04 14:55 ` Peter Maydell
2023-07-26 13:25 ` [PATCH 36/44] Add mailbox test constants Sergey Kambalin
2023-07-26 13:25 ` [PATCH 37/44] Add mailbox tests tags. Part 1 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 38/44] Add mailbox tests tags. Part 2 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 39/44] Add mailbox tests tags. Part 3 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 40/44] Add mailbox property tests. Part 1 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 41/44] Add mailbox property tests. Part 2 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 42/44] Add mailbox property tests. Part 3 Sergey Kambalin
2023-07-26 13:25 ` [PATCH 43/44] Add missed BCM2835 properties Sergey Kambalin
2023-08-04 15:08 ` Peter Maydell
2023-07-26 13:25 ` [PATCH 44/44] Append added properties to mailbox test Sergey Kambalin
2023-08-04 12:13 ` [PATCH 00/44] Raspberry Pi 4B machine Peter Maydell
2023-08-04 15:09 ` Peter Maydell
2023-10-09 7:06 ` Ben Dooks
2023-12-03 17:06 ` [PATCH v2 00/45] " Sergey Kambalin
2023-12-03 21:28 ` [PATCH " Sergey Kambalin
2023-12-03 21:28 ` [PATCH 01/45] Split out common part of BCM283X classes Sergey Kambalin
2023-12-03 21:28 ` [PATCH 02/45] Split out common part of peripherals Sergey Kambalin
2023-12-03 21:28 ` [PATCH 03/45] Split out raspi machine common part Sergey Kambalin
2023-12-03 21:28 ` [PATCH 04/45] Introduce BCM2838 SoC Sergey Kambalin
2023-12-03 21:28 ` [PATCH 05/45] Add GIC-400 to " Sergey Kambalin
2023-12-03 21:28 ` [PATCH 06/45] Add BCM2838 GPIO stub Sergey Kambalin
2023-12-03 21:28 ` [PATCH 07/45] Implement BCM2838 GPIO functionality Sergey Kambalin
2023-12-03 21:28 ` [PATCH 08/45] Connect SD controller to BCM2838 GPIO Sergey Kambalin
2023-12-03 21:28 ` [PATCH 09/45] Add GPIO and SD to BCM2838 periph Sergey Kambalin
2023-12-03 21:28 ` [PATCH 10/45] Add BCM2838 checkpoint support Sergey Kambalin
2023-12-03 21:28 ` [PATCH 11/45] Introduce Raspberry PI 4 machine Sergey Kambalin
2023-12-03 21:28 ` [PATCH 12/45] Temporarily disable unimplemented rpi4b devices Sergey Kambalin
2023-12-03 21:28 ` [PATCH 13/45] Add memory region for BCM2837 RPiVid ASB Sergey Kambalin
2023-12-03 21:28 ` [PATCH 14/45] Add BCM2838 PCIE Root Complex Sergey Kambalin
2023-12-03 21:28 ` [PATCH 15/45] Add BCM2838 PCIE host Sergey Kambalin
2023-12-03 21:28 ` [PATCH 16/45] Enable BCM2838 PCIE Sergey Kambalin
2023-12-03 21:28 ` [PATCH 17/45] Add RNG200 skeleton Sergey Kambalin
2023-12-03 21:28 ` [PATCH 18/45] Add RNG200 RNG and RBG Sergey Kambalin
2023-12-03 21:28 ` [PATCH 19/45] Get rid of RNG200 timer Sergey Kambalin
2023-12-03 21:28 ` [PATCH 20/45] Implement BCM2838 thermal sensor Sergey Kambalin
2023-12-03 21:28 ` [PATCH 21/45] Add clock_isp stub Sergey Kambalin
2023-12-03 21:28 ` [PATCH 22/45] Add GENET stub Sergey Kambalin
2023-12-03 21:28 ` [PATCH 23/45] Add GENET register structs. Part 1 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 24/45] Add GENET register structs. Part 2 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 25/45] Add GENET register structs. Part 3 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 26/45] Add GENET register structs. Part 4 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 27/45] Add GENET register access macros Sergey Kambalin
2023-12-03 21:28 ` [PATCH 28/45] Implement GENET register ops Sergey Kambalin
2023-12-03 21:28 ` [PATCH 29/45] Implement GENET MDIO Sergey Kambalin
2023-12-03 21:28 ` [PATCH 30/45] Implement GENET TX path Sergey Kambalin
2023-12-03 21:28 ` [PATCH 31/45] Implement GENET RX path Sergey Kambalin
2023-12-03 21:28 ` [PATCH 32/45] Enable BCM2838 GENET controller Sergey Kambalin
2023-12-03 21:28 ` [PATCH 33/45] Connect RNG200, PCIE and GENET to GIC Sergey Kambalin
2023-12-03 21:28 ` [PATCH 34/45] Add Rpi4b boot tests Sergey Kambalin
2023-12-03 21:28 ` [PATCH 35/45] Add mailbox test stub Sergey Kambalin
2023-12-03 21:28 ` [PATCH 36/45] Add mailbox test constants Sergey Kambalin
2023-12-03 21:28 ` [PATCH 37/45] Add mailbox tests tags. Part 1 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 38/45] Add mailbox tests tags. Part 2 Sergey Kambalin
2023-12-03 21:28 ` [PATCH 39/45] Add mailbox tests tags. Part 3 Sergey Kambalin
2023-12-03 21:29 ` [PATCH 40/45] Add mailbox property tests. Part 1 Sergey Kambalin
2023-12-03 21:29 ` [PATCH 41/45] Add mailbox property tests. Part 2 Sergey Kambalin
2023-12-03 21:29 ` [PATCH 42/45] Add mailbox property tests. Part 3 Sergey Kambalin
2023-12-03 21:29 ` [PATCH 43/45] Add missed BCM2835 properties Sergey Kambalin
2023-12-03 21:29 ` [PATCH 44/45] Append added properties to mailbox test Sergey Kambalin
2023-12-03 21:29 ` [PATCH 45/45] Add RPi4B to paspi4.rst Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 00/45] Raspberry Pi 4B machine Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 01/45] Split out common part of BCM283X classes Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 02/45] Split out common part of peripherals Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 03/45] Split out raspi machine common part Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 04/45] Introduce BCM2838 SoC Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 05/45] Add GIC-400 to " Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 06/45] Add BCM2838 GPIO stub Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 07/45] Implement BCM2838 GPIO functionality Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 08/45] Connect SD controller to BCM2838 GPIO Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 09/45] Add GPIO and SD to BCM2838 periph Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 10/45] Add BCM2838 checkpoint support Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 11/45] Introduce Raspberry PI 4 machine Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 12/45] Temporarily disable unimplemented rpi4b devices Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 13/45] Add memory region for BCM2837 RPiVid ASB Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 14/45] Add BCM2838 PCIE Root Complex Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 15/45] Add BCM2838 PCIE host Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 16/45] Enable BCM2838 PCIE Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 17/45] Add RNG200 skeleton Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 18/45] Add RNG200 RNG and RBG Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 19/45] Get rid of RNG200 timer Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 20/45] Implement BCM2838 thermal sensor Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 21/45] Add clock_isp stub Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 22/45] Add GENET stub Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 23/45] Add GENET register structs. Part 1 Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 24/45] Add GENET register structs. Part 2 Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 25/45] Add GENET register structs. Part 3 Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 26/45] Add GENET register structs. Part 4 Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 27/45] Add GENET register access macros Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 28/45] Implement GENET register ops Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 29/45] Implement GENET MDIO Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 30/45] Implement GENET TX path Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 31/45] Implement GENET RX path Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 32/45] Enable BCM2838 GENET controller Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 33/45] Connect RNG200, PCIE and GENET to GIC Sergey Kambalin
2023-12-03 21:48 ` [PATCH v3 34/45] Add Rpi4b boot tests Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 35/45] Add mailbox test stub Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 36/45] Add mailbox test constants Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 37/45] Add mailbox tests tags. Part 1 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 38/45] Add mailbox tests tags. Part 2 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 39/45] Add mailbox tests tags. Part 3 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 40/45] Add mailbox property tests. Part 1 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 41/45] Add mailbox property tests. Part 2 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 42/45] Add mailbox property tests. Part 3 Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 43/45] Add missed BCM2835 properties Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 44/45] Append added properties to mailbox test Sergey Kambalin
2023-12-03 21:49 ` [PATCH v3 45/45] Add RPi4B to paspi4.rst Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 00/45] Raspberry Pi 4B machine Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 01/45] Split out common part of BCM283X classes Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 02/45] Split out common part of peripherals Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 03/45] Split out raspi machine common part Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 04/45] Introduce BCM2838 SoC Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 05/45] Add GIC-400 to " Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 06/45] Add BCM2838 GPIO stub Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 07/45] Implement BCM2838 GPIO functionality Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 08/45] Connect SD controller to BCM2838 GPIO Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 09/45] Add GPIO and SD to BCM2838 periph Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 10/45] Add BCM2838 checkpoint support Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 11/45] Introduce Raspberry PI 4 machine Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 12/45] Temporarily disable unimplemented rpi4b devices Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 13/45] Add memory region for BCM2837 RPiVid ASB Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 14/45] Add BCM2838 PCIE Root Complex Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 15/45] Add BCM2838 PCIE host Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 16/45] Enable BCM2838 PCIE Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 17/45] Add RNG200 skeleton Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 18/45] Add RNG200 RNG and RBG Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 19/45] Get rid of RNG200 timer Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 20/45] Implement BCM2838 thermal sensor Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 21/45] Add clock_isp stub Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 22/45] Add GENET stub Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 23/45] Add GENET register structs. Part 1 Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 24/45] Add GENET register structs. Part 2 Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 25/45] Add GENET register structs. Part 3 Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 26/45] Add GENET register structs. Part 4 Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 27/45] Add GENET register access macros Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 28/45] Implement GENET register ops Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 29/45] Implement GENET MDIO Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 30/45] Implement GENET TX path Sergey Kambalin
2023-12-03 23:41 ` [PATCH v3 31/45] Implement GENET RX path Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 32/45] Enable BCM2838 GENET controller Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 33/45] Connect RNG200, PCIE and GENET to GIC Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 34/45] Add Rpi4b boot tests Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 35/45] Add mailbox test stub Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 36/45] Add mailbox test constants Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 37/45] Add mailbox tests tags. Part 1 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 38/45] Add mailbox tests tags. Part 2 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 39/45] Add mailbox tests tags. Part 3 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 40/45] Add mailbox property tests. Part 1 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 41/45] Add mailbox property tests. Part 2 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 42/45] Add mailbox property tests. Part 3 Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 43/45] Add missed BCM2835 properties Sergey Kambalin
2023-12-03 23:42 ` [PATCH v3 44/45] Append added properties to mailbox test Sergey Kambalin
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=CAFEAcA8BEMFuCiGMTamyZRbE95q5UcuMkj-OpjbvPwxswS1g5g@mail.gmail.com \
--to=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=serg.oker@gmail.com \
--cc=sergey.kambalin@auriga.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).