// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

// List all supported registers

#ifndef CSR
#error Define CSR
#endif

CSR(PMPCfg0, 0x3A0)
CSR(PMPCfg1, 0x3A1)
CSR(PMPCfg2, 0x3A2)
CSR(PMPCfg3, 0x3A3)
CSR(PMPAddr0, 0x3B0)
CSR(PMPAddr1, 0x3B1)
CSR(PMPAddr2, 0x3B2)
CSR(PMPAddr3, 0x3B3)
CSR(PMPAddr4, 0x3B4)
CSR(PMPAddr5, 0x3B5)
CSR(PMPAddr6, 0x3B6)
CSR(PMPAddr7, 0x3B7)
CSR(PMPAddr8, 0x3B8)
CSR(PMPAddr9, 0x3B9)
CSR(PMPAddr10, 0x3BA)
CSR(PMPAddr11, 0x3BB)
CSR(PMPAddr12, 0x3BC)
CSR(PMPAddr13, 0x3BD)
CSR(PMPAddr14, 0x3BE)
CSR(PMPAddr15, 0x3BF)
CSR(MCountInhibit, 0x320)
CSR(MHPMEvent3, 0x323)
CSR(MHPMEvent4, 0x324)
CSR(MHPMEvent5, 0x325)
CSR(MHPMEvent6, 0x326)
CSR(MHPMEvent7, 0x327)
CSR(MHPMEvent8, 0x328)
CSR(MHPMEvent9, 0x329)
CSR(MHPMEvent10, 0x32A)
CSR(MHPMEvent11, 0x32B)
CSR(MHPMEvent12, 0x32C)
CSR(MHPMEvent13, 0x32D)
CSR(MHPMEvent14, 0x32E)
CSR(MHPMEvent15, 0x32F)
CSR(MHPMEvent16, 0x330)
CSR(MHPMEvent17, 0x331)
CSR(MHPMEvent18, 0x332)
CSR(MHPMEvent19, 0x333)
CSR(MHPMEvent20, 0x334)
CSR(MHPMEvent21, 0x335)
CSR(MHPMEvent22, 0x336)
CSR(MHPMEvent23, 0x337)
CSR(MHPMEvent24, 0x338)
CSR(MHPMEvent25, 0x339)
CSR(MHPMEvent26, 0x33A)
CSR(MHPMEvent27, 0x33B)
CSR(MHPMEvent28, 0x33C)
CSR(MHPMEvent29, 0x33D)
CSR(MHPMEvent30, 0x33E)
CSR(MHPMEvent31, 0x33F)
CSR(MSeccfg, 0x747)
CSR(MSeccfgh, 0x757)
CSR(MCycle, 0xB00)
CSR(MInstret, 0xB02)
CSR(MHPMCounter3, 0xB03)
CSR(MHPMCounter4, 0xB04)
CSR(MHPMCounter5, 0xB05)
CSR(MHPMCounter6, 0xB06)
CSR(MHPMCounter7, 0xB07)
CSR(MHPMCounter8, 0xB08)
CSR(MHPMCounter9, 0xB09)
CSR(MHPMCounter10, 0xB0A)
CSR(MHPMCounter11, 0xB0B)
CSR(MHPMCounter12, 0xB0C)
CSR(MHPMCounter13, 0xB0D)
CSR(MHPMCounter14, 0xB0E)
CSR(MHPMCounter15, 0xB0F)
CSR(MHPMCounter16, 0xB10)
CSR(MHPMCounter17, 0xB11)
CSR(MHPMCounter18, 0xB12)
CSR(MHPMCounter19, 0xB13)
CSR(MHPMCounter20, 0xB14)
CSR(MHPMCounter21, 0xB15)
CSR(MHPMCounter22, 0xB16)
CSR(MHPMCounter23, 0xB17)
CSR(MHPMCounter24, 0xB18)
CSR(MHPMCounter25, 0xB19)
CSR(MHPMCounter26, 0xB1A)
CSR(MHPMCounter27, 0xB1B)
CSR(MHPMCounter28, 0xB1C)
CSR(MHPMCounter29, 0xB1D)
CSR(MHPMCounter30, 0xB1E)
CSR(MHPMCounter31, 0xB1F)
CSR(MCycleH, 0xB80)
CSR(MInstretH, 0xB82)
CSR(MHPMCounter3H, 0xB83)
CSR(MHPMCounter4H, 0xB84)
CSR(MHPMCounter5H, 0xB85)
CSR(MHPMCounter6H, 0xB86)
CSR(MHPMCounter7H, 0xB87)
CSR(MHPMCounter8H, 0xB88)
CSR(MHPMCounter9H, 0xB89)
CSR(MHPMCounter10H, 0xB8A)
CSR(MHPMCounter11H, 0xB8B)
CSR(MHPMCounter12H, 0xB8C)
CSR(MHPMCounter13H, 0xB8D)
CSR(MHPMCounter14H, 0xB8E)
CSR(MHPMCounter15H, 0xB8F)
CSR(MHPMCounter16H, 0xB90)
CSR(MHPMCounter17H, 0xB91)
CSR(MHPMCounter18H, 0xB92)
CSR(MHPMCounter19H, 0xB93)
CSR(MHPMCounter20H, 0xB94)
CSR(MHPMCounter21H, 0xB95)
CSR(MHPMCounter22H, 0xB96)
CSR(MHPMCounter23H, 0xB97)
CSR(MHPMCounter24H, 0xB98)
CSR(MHPMCounter25H, 0xB99)
CSR(MHPMCounter26H, 0xB9A)
CSR(MHPMCounter27H, 0xB9B)
CSR(MHPMCounter28H, 0xB9C)
CSR(MHPMCounter29H, 0xB9D)
CSR(MHPMCounter30H, 0xB9E)
CSR(MHPMCounter31H, 0xB9F)

#undef CSR
