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__ |