Make more efficient clearing interrupts on all processors at boot time.
authoraoyama <aoyama@openbsd.org>
Tue, 23 Feb 2021 11:48:21 +0000 (11:48 +0000)
committeraoyama <aoyama@openbsd.org>
Tue, 23 Feb 2021 11:48:21 +0000 (11:48 +0000)
commit3da63063d2342371cd7c6e969124b8066dc1b6c3
tree49c6fb01fe175a879f8c579d779dc5c0d630e99c
parent1dd176a53e5b1b3cafbebbf680c932a174d725f5
Make more efficient clearing interrupts on all processors at boot time.

Without this modification, because of the volatile qualifier, the
compiler does not produce four `` = 0 '' assignments, but code
equivalent to:

*(volatile uint32_t *)INT_ST_MASK3 = 0;
*(volatile uint32_t *)INT_ST_MASK2 =
    *(volatile uint32_t *)INT_ST_MASK3;
*(volatile uint32_t *)INT_ST_MASK1 =
    *(volatile uint32_t *)INT_ST_MASK2;
*(volatile uint32_t *)INT_ST_MASK0 =
    *(volatile uint32_t *)INT_ST_MASK1;

Anders Gavare reported to Miod Vallat, and he gave me a diff.
sys/arch/luna88k/luna88k/machdep.c