tlb.cc (3899:389e4ea5f98e) tlb.cc (3902:f09fe9c1e609)
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

620 writeSfr(tc, vaddr, write, Nucleus, false, IllegalAsi, asi);
621 return new PrivilegedAction;
622 }
623 if (priv && AsiIsHPriv(asi)) {
624 writeSfr(tc, vaddr, write, Nucleus, false, IllegalAsi, asi);
625 return new DataAccessException;
626 }
627
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

620 writeSfr(tc, vaddr, write, Nucleus, false, IllegalAsi, asi);
621 return new PrivilegedAction;
622 }
623 if (priv && AsiIsHPriv(asi)) {
624 writeSfr(tc, vaddr, write, Nucleus, false, IllegalAsi, asi);
625 return new DataAccessException;
626 }
627
628 } /*else if (hpriv) {*/
629 if (asi == ASI_P) {
630 ct = Primary;
631 context = pri_context;
632 goto continueDtbFlow;
633 }
634 //}
628 }
629 if (asi == ASI_P || asi == ASI_LDTX_P) {
630 ct = Primary;
631 context = pri_context;
632 goto continueDtbFlow;
633 }
635
636 if (!implicit) {
637 if (AsiIsLittle(asi))
638 panic("Little Endian ASIs not supported\n");
639 if (AsiIsBlock(asi))
640 panic("Block ASIs not supported\n");
641 if (AsiIsNoFault(asi))
642 panic("No Fault ASIs not supported\n");
634
635 if (!implicit) {
636 if (AsiIsLittle(asi))
637 panic("Little Endian ASIs not supported\n");
638 if (AsiIsBlock(asi))
639 panic("Block ASIs not supported\n");
640 if (AsiIsNoFault(asi))
641 panic("No Fault ASIs not supported\n");
643 if (write && asi == ASI_LDTX_P)
644 // block init store (like write hint64)
645 goto continueDtbFlow;
646 if (!write && asi == ASI_QUAD_LDD)
647 goto continueDtbFlow;
648
649 if (AsiIsTwin(asi))
650 panic("Twin ASIs not supported\n");
651 if (AsiIsPartialStore(asi))
652 panic("Partial Store ASIs not supported\n");
653 if (AsiIsInterrupt(asi))

--- 602 unchanged lines hidden ---
642 if (!write && asi == ASI_QUAD_LDD)
643 goto continueDtbFlow;
644
645 if (AsiIsTwin(asi))
646 panic("Twin ASIs not supported\n");
647 if (AsiIsPartialStore(asi))
648 panic("Partial Store ASIs not supported\n");
649 if (AsiIsInterrupt(asi))

--- 602 unchanged lines hidden ---