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; |
434 public: |
435 FakeITLBFault(Addr _vaddr, bool _write, bool _execute) : |
436 X86Fault("fake instruction tlb fault", "itlb", 0), |
437 vaddr(_vaddr), write(_write), execute(_execute) |
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; |
449 public: |
450 FakeDTLBFault(Addr _vaddr, bool _write, bool _execute) : |
451 X86Fault("fake data tlb fault", "dtlb", 0), |
452 vaddr(_vaddr), write(_write), execute(_execute) |
453 {} 454 455 void invoke(ThreadContext * tc); 456 }; 457}; 458 459#endif // __ARCH_X86_FAULTS_HH__ |