All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <huth@tuxfamily.org>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH 08/12] next-cube.c: move LED logic to new next_scr2_led_update() function
Date: Sat, 16 Dec 2023 21:13:34 +0100	[thread overview]
Message-ID: <20231216211334.633f7684@fedora> (raw)
In-Reply-To: <20231215200009.346212-9-mark.cave-ayland@ilande.co.uk>

Am Fri, 15 Dec 2023 20:00:05 +0000
schrieb Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>:

> Ensure that the LED status is updated by calling next_scr2_led_update() whenever
> the SC2 register is written.
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>  hw/m68k/next-cube.c | 22 +++++++++++++---------
>  1 file changed, 13 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
> index f2222554fa..7ffd1c412e 100644
> --- a/hw/m68k/next-cube.c
> +++ b/hw/m68k/next-cube.c
> @@ -123,6 +123,18 @@ static const uint8_t rtc_ram2[32] = {
>  #define SCR2_RTDATA 0x4
>  #define SCR2_TOBCD(x) (((x / 10) << 4) + (x % 10))
>  
> +static void next_scr2_led_update(NeXTPC *s)
> +{
> +    if (s->scr2 & 0x1) {
> +        DPRINTF("fault!\n");
> +        s->led++;
> +        if (s->led == 10) {
> +            DPRINTF("LED flashing, possible fault!\n");
> +            s->led = 0;
> +        }
> +    }
> +}

This will now operate on the old value of scr2 ...

>  static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
>  {
>      static uint8_t old_scr2;
> @@ -135,15 +147,6 @@ static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
>          scr2_2 = val & 0xFF;
>      }
>  
> -    if (val & 0x1) {
> -        DPRINTF("fault!\n");
> -        s->led++;
> -        if (s->led == 10) {
> -            DPRINTF("LED flashing, possible fault!\n");
> -            s->led = 0;
> -        }
> -    }

.. while this was using the new value that was just written.
So this looks wrong to me ... or do I miss something?

 Thomas


>      if (scr2_2 & 0x1) {
>          /* DPRINTF("RTC %x phase %i\n", scr2_2, rtc->phase); */
>          if (rtc->phase == -1) {
> @@ -318,6 +321,7 @@ static void next_mmio_write(void *opaque, hwaddr addr, uint64_t val,
>          break;
>  
>      case 0xd000 ... 0xd003:
> +        next_scr2_led_update(s);
>          nextscr2_write(s, val, size);
>          break;
>  


  reply	other threads:[~2023-12-16 20:14 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-15 19:59 [PATCH 00/12] next-cube: various tidy-ups and improvements Mark Cave-Ayland
2023-12-15 19:59 ` [PATCH 01/12] next-cube.c: add dummy Ethernet register to allow diagnostic to timeout Mark Cave-Ayland
2023-12-16  9:00   ` Thomas Huth
2023-12-15 19:59 ` [PATCH 02/12] next-cube.c: don't pulse SCSI DMA IRQ upon reception of FLUSH command Mark Cave-Ayland
2023-12-16  9:07   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 03/12] next-cube.c: update mmio_ops to properly use modern memory API Mark Cave-Ayland
2023-12-16 19:25   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 04/12] next-cube.c: update scr_ops " Mark Cave-Ayland
2023-12-16 19:51   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 05/12] next-cube.c: update and improve dma_ops Mark Cave-Ayland
2023-12-16 19:55   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 06/12] next-cube.c: move static led variable to NeXTPC Mark Cave-Ayland
2023-12-16 19:57   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 07/12] next-cube.c: move static phase variable to NextRtc Mark Cave-Ayland
2023-12-16 20:08   ` Thomas Huth
2023-12-15 20:00 ` [PATCH 08/12] next-cube.c: move LED logic to new next_scr2_led_update() function Mark Cave-Ayland
2023-12-16 20:13   ` Thomas Huth [this message]
2023-12-19 21:40     ` Mark Cave-Ayland
2023-12-15 20:00 ` [PATCH 09/12] next-cube.c: move static old_scr2 variable to NeXTPC Mark Cave-Ayland
2023-12-16 20:18   ` Thomas Huth
2023-12-19 21:41     ` Mark Cave-Ayland
2023-12-15 20:00 ` [PATCH 10/12] next-cube.c: remove val and size arguments from nextscr2_write() Mark Cave-Ayland
2023-12-15 20:00 ` [PATCH 11/12] next-cube.c: replace sysmem with get_system_memory() in next_cube_init() Mark Cave-Ayland
2023-12-16 20:20   ` Thomas Huth
2023-12-16 21:31     ` BALATON Zoltan
2023-12-19 22:02       ` Mark Cave-Ayland
2023-12-19 21:43     ` Mark Cave-Ayland
2023-12-15 20:00 ` [PATCH 12/12] next-cube.c: move machine MemoryRegions into NeXTState Mark Cave-Ayland
2023-12-16 20:21   ` Thomas Huth

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=20231216211334.633f7684@fedora \
    --to=huth@tuxfamily.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.