O
#define INIT_FLAG(C, O, V, D, F) \
(C)->O |= V; \
# define k5_os_nothread_once(O,F) \
(*(O) == 3 ? 0 \
: *(O) == 2 ? (*(O) = 4, (F)(), *(O) = 3, 0) \
: (assert(*(O) != 4), assert(*(O) == 2 || *(O) == 3), 0))
#define OADDR_OF(S,O) ((u_int32_t)((u_int32_t)(S) << SPLITSHIFT) + (O))
#define REFERENCE(P, T, O) (((T *)(void *)((u_int8_t *)(void *)(P) + O))[0])
# define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
# define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
# define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
# define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
#define OADDR_OF(S,O) ((u_int32_t)((u_int32_t)(S) << SPLITSHIFT) + (O))
case O:
/*a0*/ { "mov", false, BYTE, op2(O, A), 0 },
/*a1*/ { "mov", false, LONG, op2(O, A), 0 },
/*a2*/ { "mov", false, BYTE, op2(A, O), 0 },
/*a3*/ { "mov", false, LONG, op2(A, O), 0 },
GMUX(0x000, O, 1, ulpi_data0_po1, spi3, hsi, uarta, ulpi),
GMUX(0x004, O, 2, ulpi_data1_po2, spi3, hsi, uarta, ulpi),
GMUX(0x008, O, 3, ulpi_data2_po3, spi3, hsi, uarta, ulpi),
GMUX(0x00C, O, 4, ulpi_data3_po4, spi3, hsi, uarta, ulpi),
GMUX(0x010, O, 5, ulpi_data4_po5, spi2, hsi, uarta, ulpi),
GMUX(0x014, O, 6, ulpi_data5_po6, spi2, hsi, uarta, ulpi),
GMUX(0x018, O, 7, ulpi_data6_po7, spi2, hsi, uarta, ulpi),
GMUX(0x01C, O, 0, ulpi_data7_po0, spi2, hsi, uarta, ulpi),
#define ALL (D | T | L | P | W | R | O | M | A | E | B | K | V | F | S | C)
{ 0x01, D | W | R | O | M, "REZERO UNIT" },
{ 0x04, D | R | O, "FORMAT UNIT" },
{ 0x07, D | W | O, "REASSIGN BLOCKS" },
{ 0x08, D | T | W | O, "READ(6)" },
{ 0x0A, D | T | W | O, "WRITE(6)" },
{ 0x0B, D | W | R | O, "SEEK(6)" },
{ 0x18, D | T | L | P | W | R | O | K | S, "COPY" },
{ 0x1B, D | W | R | O | A | B | K | F, "START STOP UNIT" },
{ 0x1E, D | T | W | R | O | M | K | F, "PREVENT ALLOW MEDIUM REMOVAL" },
{ 0x25, D | W | O | B, "READ CAPACITY(10)" },
{ 0x28, D | W | R | O | B | K | S, "READ(10)" },
{ 0x29, O, "READ GENERATION" },
{ 0x2A, D | W | R | O | B | K, "WRITE(10)" },
{ 0x2B, D | W | R | O | K, "SEEK(10)" },
{ 0x2C, R | O, "ERASE(10)" },
{ 0x2D, O, "READ UPDATED BLOCK" },
{ 0x2E, D | W | R | O | B | K, "WRITE AND VERIFY(10)" },
{ 0x2F, D | W | R | O, "VERIFY(10)" },
{ 0x30, D | W | R | O, "SEARCH DATA HIGH(10)" },
{ 0x31, D | W | R | O, "SEARCH DATA EQUAL(10)" },
{ 0x32, D | W | R | O, "SEARCH DATA LOW(10)" },
{ 0x33, D | W | R | O, "SET LIMITS(10)" },
{ 0x34, D | W | O | K, "PRE-FETCH(10)" },
{ 0x35, D | W | R | O | B | K, "SYNCHRONIZE CACHE(10)" },
{ 0x36, D | W | O | K, "LOCK UNLOCK CACHE(10)" },
{ 0x37, D | O, "READ DEFECT DATA(10)" },
{ 0x38, W | O | K, "MEDIUM SCAN" },
{ 0x39, D | T | L | P | W | R | O | K | S, "COMPARE" },
{ 0x3A, D | T | L | P | W | R | O | K | S, "COPY AND VERIFY" },
{ 0x3D, O, "UPDATE BLOCK" },
{ 0x3E, D | W | O, "READ LONG(10)" },
{ 0x3F, D | W | O, "WRITE LONG(10)" },
{ 0x40, D | T | L | P | W | R | O | M | S | C, "CHANGE DEFINITION" },
{ 0x83, D | T | L | P | W | O | K | V, "EXTENDED COPY" },
{ 0x84, D | T | L | P | W | O | K | V, "RECEIVE COPY RESULTS" },
{ 0x88, D | T | W | O | B, "READ(16)" },
{ 0x8A, D | T | W | O | B, "WRITE(16)" },
{ 0x8C, D | T | W | O | M | B | V, "READ ATTRIBUTE" },
{ 0x8D, D | T | W | O | M | B | V, "WRITE ATTRIBUTE" },
{ 0x8E, D | W | O | B, "WRITE AND VERIFY(16)" },
{ 0x8F, D | T | W | O | B, "VERIFY(16)" },
{ 0x90, D | W | O | B, "PRE-FETCH(16)" },
{ 0x91, D | W | O | B, "SYNCHRONIZE CACHE(16)" },
{ 0x92, D | W | O, "LOCK UNLOCK CACHE(16)" },
{ 0xA5, T | W | O | M, "MOVE MEDIUM" },
{ 0xA7, D | T | W | O, "MOVE MEDIUM ATTACHED" },
{ 0xA8, D | W | R | O, "READ(12)" },
{ 0xAA, D | W | R | O, "WRITE(12)" },
{ 0xAC, O, "ERASE(12)" },
{ 0xAE, D | W | O, "WRITE AND VERIFY(12)" },
{ 0xAF, D | W | R | O, "VERIFY(12)" },
{ 0xB0, W | R | O, "SEARCH DATA HIGH(12)" },
{ 0xB1, W | R | O, "SEARCH DATA EQUAL(12)" },
{ 0xB2, W | R | O, "SEARCH DATA LOW(12)" },
{ 0xB3, D | W | R | O, "SET LIMITS(12)" },
{ 0xB4, D | T | W | R | O, "READ ELEMENT STATUS ATTACHED" },
{ 0xB7, D | O, "READ DEFECT DATA(12)" },
{ 0xB8, T | W | R | O | M, "READ ELEMENT STATUS" },
{ 0xBA, D | W | O | M | A | E, "REDUNDANCY GROUP (IN)" },
{ 0xBB, D | W | O | M | A | E, "REDUNDANCY GROUP (OUT)" },
{ 0xBC, D | W | O | M | A | E, "SPARE (IN)" },
{ 0xBD, D | W | O | M | A | E, "SPARE (OUT)" },
{ 0xBE, D | W | O | M | A | E, "VOLUME SET (IN)" },
{ 0xBF, D | W | O | M | A | E, "VOLUME SET (OUT)" },
case O:
/*a0*/ { "mov", false, BYTE, op2(O, A), 0 },
/*a1*/ { "mov", false, LONG, op2(O, A), 0 },
/*a2*/ { "mov", false, BYTE, op2(A, O), 0 },
/*a3*/ { "mov", false, LONG, op2(A, O), 0 },