faults.hh (5858:54f64fb1bd62) faults.hh (5881:73c0aaaaf186)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 415 unchanged lines hidden (view full) ---

424 };
425
426 // These faults aren't part of the ISA definition. They trigger filling
427 // the tlb on a miss and are to take the place of a hardware table walker.
428 class FakeITLBFault : public X86Fault
429 {
430 protected:
431 Addr vaddr;
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 415 unchanged lines hidden (view full) ---

424 };
425
426 // These faults aren't part of the ISA definition. They trigger filling
427 // the tlb on a miss and are to take the place of a hardware table walker.
428 class FakeITLBFault : public X86Fault
429 {
430 protected:
431 Addr vaddr;
432 bool write;
433 bool execute;
432 public:
434 public:
433 FakeITLBFault(Addr _vaddr) :
435 FakeITLBFault(Addr _vaddr, bool _write, bool _execute) :
434 X86Fault("fake instruction tlb fault", "itlb", 0),
436 X86Fault("fake instruction tlb fault", "itlb", 0),
435 vaddr(_vaddr)
437 vaddr(_vaddr), write(_write), execute(_execute)
436 {}
437
438 void invoke(ThreadContext * tc);
439 };
440
441 class FakeDTLBFault : public X86Fault
442 {
443 protected:
444 Addr vaddr;
438 {}
439
440 void invoke(ThreadContext * tc);
441 };
442
443 class FakeDTLBFault : public X86Fault
444 {
445 protected:
446 Addr vaddr;
447 bool write;
448 bool execute;
445 public:
449 public:
446 FakeDTLBFault(Addr _vaddr) :
450 FakeDTLBFault(Addr _vaddr, bool _write, bool _execute) :
447 X86Fault("fake data tlb fault", "dtlb", 0),
451 X86Fault("fake data tlb fault", "dtlb", 0),
448 vaddr(_vaddr)
452 vaddr(_vaddr), write(_write), execute(_execute)
449 {}
450
451 void invoke(ThreadContext * tc);
452 };
453};
454
455#endif // __ARCH_X86_FAULTS_HH__
453 {}
454
455 void invoke(ThreadContext * tc);
456 };
457};
458
459#endif // __ARCH_X86_FAULTS_HH__