35 lines
842 B
Haskell
35 lines
842 B
Haskell
{-# LANGUAGE DataKinds #-}
|
|
{-# LANGUAGE NumericUnderscores #-}
|
|
|
|
module Exceptions() where
|
|
|
|
import Clash.Prelude
|
|
|
|
data Exception =
|
|
SupervisorSoftwareInterrupt
|
|
| MachineSoftwareInterrupt
|
|
| SupervisorTimerInterrupt
|
|
| MachineTimerInterrupt
|
|
| SupervisorExternalInterrupt
|
|
| MachineExternalInterrupt
|
|
| CounterOverflowInterrupt
|
|
| InstructionAddressMisaligned
|
|
| InstructionAccessFault
|
|
| IllegalInstruction
|
|
| Breakpoint
|
|
| LoadAddressMisaligned
|
|
| LoadAccessFault
|
|
| StoreAMOAddressMisaligned
|
|
| StoreAMOAccessFault
|
|
| EnvironmentCallFromUMode
|
|
| EnvironmentCallFromSMode
|
|
| EnvironmentCallFromMMode
|
|
| InstructionPageFault
|
|
| LoadPageFault
|
|
| Reserved
|
|
| StoreAMOPageFault
|
|
| DoubleTrap
|
|
| SoftwareCheck
|
|
| HardwareError
|
|
deriving (Generic, Show, Eq, NFDataX)
|