1#  generic machinemodel file
2#
3#   Copyright (C) 2021 Free Software Foundation, Inc.
4#
5# This file is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; see the file COPYING3.  If not see
17# <http://www.gnu.org/licenses/>.
18
19mobj_define Memory_page_size       "(EA_PAGESIZE ? EA_PAGESIZE : -1)"
20mobj_define Memory_page            "(((VADDR>255) && EA_PAGESIZE) ? VADDR & (~(EA_PAGESIZE-1)) : -1)"
21mobj_define Memory_64B_cacheline   "((VADDR>255)?(VADDR>>6<<6):-1)"
22mobj_define Memory_address         "((VADDR>255)?(VADDR):-1)"
23
24mobj_define Memory_in_home_lgrp    (EA_LGRP==LWP_LGRP_HOME)
25mobj_define Memory_lgrp            (EA_LGRP)
26
27mobj_define Physical_page          "((PADDR && EA_PAGESIZE) ? PADDR & (~(EA_PAGESIZE-1)) : -1)"
28mobj_define Physical_64B_cacheline "(PADDR?(PADDR>>6<<6):-1)"
29mobj_define Physical_address       "(PADDR?(PADDR):-1)"
30
31#mobj_define Vpage_4K   "(((ea_pagesize==1<<12 || !ea_pagesize) && VADDR>255)?(VADDR>>12<<12):-1)"
32#mobj_define Ppage_4K   "((ea_pagesize==1<<12 && PADDR)?(PADDR>>12<<12):-1)"
33