112218Snikos.nikoleris@arm.com/*
212218Snikos.nikoleris@arm.com * Copyright (c) 2017 ARM Limited
312218Snikos.nikoleris@arm.com * All rights reserved
412218Snikos.nikoleris@arm.com *
512218Snikos.nikoleris@arm.com * The license below extends only to copyright in the software and shall
612218Snikos.nikoleris@arm.com * not be construed as granting a license to any other intellectual
712218Snikos.nikoleris@arm.com * property including but not limited to intellectual property relating
812218Snikos.nikoleris@arm.com * to a hardware implementation of the functionality of the software
912218Snikos.nikoleris@arm.com * licensed hereunder.  You may use the software subject to the license
1012218Snikos.nikoleris@arm.com * terms below provided that you ensure that this notice is replicated
1112218Snikos.nikoleris@arm.com * unmodified and in its entirety in all distributions of the software,
1212218Snikos.nikoleris@arm.com * modified or unmodified, in source code or in binary form.
1312218Snikos.nikoleris@arm.com *
1412218Snikos.nikoleris@arm.com * Copyright (c) 2006 The Regents of The University of Michigan
1512218Snikos.nikoleris@arm.com * All rights reserved.
1612218Snikos.nikoleris@arm.com *
1712218Snikos.nikoleris@arm.com * Redistribution and use in source and binary forms, with or without
1812218Snikos.nikoleris@arm.com * modification, are permitted provided that the following conditions are
1912218Snikos.nikoleris@arm.com * met: redistributions of source code must retain the above copyright
2012218Snikos.nikoleris@arm.com * notice, this list of conditions and the following disclaimer;
2112218Snikos.nikoleris@arm.com * redistributions in binary form must reproduce the above copyright
2212218Snikos.nikoleris@arm.com * notice, this list of conditions and the following disclaimer in the
2312218Snikos.nikoleris@arm.com * documentation and/or other materials provided with the distribution;
2412218Snikos.nikoleris@arm.com * neither the name of the copyright holders nor the names of its
2512218Snikos.nikoleris@arm.com * contributors may be used to endorse or promote products derived from
2612218Snikos.nikoleris@arm.com * this software without specific prior written permission.
2712218Snikos.nikoleris@arm.com *
2812218Snikos.nikoleris@arm.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2912218Snikos.nikoleris@arm.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3012218Snikos.nikoleris@arm.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
3112218Snikos.nikoleris@arm.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3212218Snikos.nikoleris@arm.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
3312218Snikos.nikoleris@arm.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
3412218Snikos.nikoleris@arm.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
3512218Snikos.nikoleris@arm.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
3612218Snikos.nikoleris@arm.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3712218Snikos.nikoleris@arm.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3812218Snikos.nikoleris@arm.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3912218Snikos.nikoleris@arm.com *
4012218Snikos.nikoleris@arm.com * Authors: Steve Reinhardt
4112218Snikos.nikoleris@arm.com */
4212218Snikos.nikoleris@arm.com
4312218Snikos.nikoleris@arm.com#ifndef __ARCH_GENERIC_LOCKED_MEM_HH__
4412218Snikos.nikoleris@arm.com#define __ARCH_GENERIC_LOCKED_MEM_HH__
4512218Snikos.nikoleris@arm.com
4612218Snikos.nikoleris@arm.com/**
4712218Snikos.nikoleris@arm.com * @file
4812218Snikos.nikoleris@arm.com *
4912218Snikos.nikoleris@arm.com * Generic helper functions for locked memory accesses.
5012218Snikos.nikoleris@arm.com */
5112218Snikos.nikoleris@arm.com
5212218Snikos.nikoleris@arm.com#include "config/the_isa.hh"
5312218Snikos.nikoleris@arm.com#include "mem/packet.hh"
5412218Snikos.nikoleris@arm.com#include "mem/request.hh"
5512218Snikos.nikoleris@arm.com
5612218Snikos.nikoleris@arm.comnamespace TheISA
5712218Snikos.nikoleris@arm.com{
5812218Snikos.nikoleris@arm.comtemplate <class XC>
5912218Snikos.nikoleris@arm.cominline void
6012218Snikos.nikoleris@arm.comhandleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
6112218Snikos.nikoleris@arm.com{
6212218Snikos.nikoleris@arm.com}
6312218Snikos.nikoleris@arm.com
6412218Snikos.nikoleris@arm.comtemplate <class XC>
6512218Snikos.nikoleris@arm.cominline void
6612749Sgiacomo.travaglini@arm.comhandleLockedRead(XC *xc, const RequestPtr &req)
6712218Snikos.nikoleris@arm.com{
6812218Snikos.nikoleris@arm.com}
6912218Snikos.nikoleris@arm.com
7012218Snikos.nikoleris@arm.comtemplate <class XC>
7112218Snikos.nikoleris@arm.cominline void
7212218Snikos.nikoleris@arm.comhandleLockedSnoopHit(XC *xc)
7312218Snikos.nikoleris@arm.com{
7412218Snikos.nikoleris@arm.com}
7512218Snikos.nikoleris@arm.com
7612218Snikos.nikoleris@arm.com
7712218Snikos.nikoleris@arm.comtemplate <class XC>
7812218Snikos.nikoleris@arm.cominline bool
7912749Sgiacomo.travaglini@arm.comhandleLockedWrite(XC *xc, const RequestPtr &req, Addr cacheBlockMask)
8012218Snikos.nikoleris@arm.com{
8112218Snikos.nikoleris@arm.com    return true;
8212218Snikos.nikoleris@arm.com}
8312218Snikos.nikoleris@arm.com
8412218Snikos.nikoleris@arm.comtemplate <class XC>
8512218Snikos.nikoleris@arm.cominline void
8612218Snikos.nikoleris@arm.comglobalClearExclusive(XC *xc)
8712218Snikos.nikoleris@arm.com{
8812218Snikos.nikoleris@arm.com}
8912218Snikos.nikoleris@arm.com
9012218Snikos.nikoleris@arm.com} // namespace Generic ISA
9112218Snikos.nikoleris@arm.com
9212218Snikos.nikoleris@arm.com#endif
93