blob: 1cd92eec711bdeb08561faf83f2a28792814df5a [file] [log] [blame]
Avi Kivity1c0ffa52011-07-26 14:26:04 +03001/*
Dong Xu Wang07f35072011-11-22 18:06:26 +08002 * Internal memory management interfaces
Avi Kivity1c0ffa52011-07-26 14:26:04 +03003 *
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. See
10 * the COPYING file in the top-level directory.
11 *
12 */
13
14#ifndef EXEC_MEMORY_H
15#define EXEC_MEMORY_H
16
17/*
18 * Internal interfaces between memory.c/exec.c/vl.c. Do not #include unless
19 * you're one of them.
20 */
21
22#include "memory.h"
23
24#ifndef CONFIG_USER_ONLY
25
26/* Get the root memory region. This interface should only be used temporarily
27 * until a proper bus interface is available.
28 */
29MemoryRegion *get_system_memory(void);
30
Avi Kivity309cb472011-08-08 16:09:03 +030031/* Get the root I/O port region. This interface should only be used
32 * temporarily until a proper bus interface is available.
33 */
34MemoryRegion *get_system_io(void);
35
Avi Kivity1c0ffa52011-07-26 14:26:04 +030036/* Set the root memory region. This region is the system memory map. */
37void set_system_memory_map(MemoryRegion *mr);
38
Avi Kivity658b2222011-07-26 14:26:08 +030039/* Set the I/O memory region. This region is the I/O memory map. */
40void set_system_io_map(MemoryRegion *mr);
41
Avi Kivity1c0ffa52011-07-26 14:26:04 +030042#endif
43
44#endif