cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

memory-internal.h (1589B)


      1/*
      2 * Declarations for functions which are internal to the memory subsystem.
      3 *
      4 * Copyright 2011 Red Hat, Inc. and/or its affiliates
      5 *
      6 * Authors:
      7 *  Avi Kivity <avi@redhat.com>
      8 *
      9 * This work is licensed under the terms of the GNU GPL, version 2 or
     10 * later.  See the COPYING file in the top-level directory.
     11 *
     12 */
     13
     14/*
     15 * This header is for use by exec.c, memory.c and accel/tcg/cputlb.c ONLY,
     16 * for declarations which are shared between the memory subsystem's
     17 * internals and the TCG TLB code. Do not include it from elsewhere.
     18 */
     19
     20#ifndef MEMORY_INTERNAL_H
     21#define MEMORY_INTERNAL_H
     22
     23#include "cpu.h"
     24
     25#ifndef CONFIG_USER_ONLY
     26static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
     27{
     28    return fv->dispatch;
     29}
     30
     31static inline AddressSpaceDispatch *address_space_to_dispatch(AddressSpace *as)
     32{
     33    return flatview_to_dispatch(address_space_to_flatview(as));
     34}
     35
     36FlatView *address_space_get_flatview(AddressSpace *as);
     37void flatview_unref(FlatView *view);
     38
     39extern const MemoryRegionOps unassigned_mem_ops;
     40
     41bool memory_region_access_valid(MemoryRegion *mr, hwaddr addr,
     42                                unsigned size, bool is_write,
     43                                MemTxAttrs attrs);
     44
     45void flatview_add_to_dispatch(FlatView *fv, MemoryRegionSection *section);
     46AddressSpaceDispatch *address_space_dispatch_new(FlatView *fv);
     47void address_space_dispatch_compact(AddressSpaceDispatch *d);
     48void address_space_dispatch_free(AddressSpaceDispatch *d);
     49
     50void mtree_print_dispatch(struct AddressSpaceDispatch *d,
     51                          MemoryRegion *root);
     52#endif
     53#endif