fault.rs 427 B

1234567891011121314151617181920212223
  1. use bitflags::bitflags;
  2. use eonix_mm::address::VAddr;
  3. bitflags! {
  4. #[derive(Debug)]
  5. pub struct PageFaultErrorCode: u32 {
  6. const Read = 2;
  7. const Write = 4;
  8. const InstructionFetch = 8;
  9. const UserAccess = 16;
  10. }
  11. }
  12. #[derive(Debug)]
  13. pub enum Fault {
  14. InvalidOp,
  15. BadAccess,
  16. PageFault {
  17. error_code: PageFaultErrorCode,
  18. address: VAddr,
  19. },
  20. Unknown(usize),
  21. }