| /* |
| * Declarations of basic RAMBlock-related types and macros |
| * |
| * Copyright 2011 Red Hat, Inc. and/or its affiliates |
| * |
| * Authors: |
| * Avi Kivity <avi@redhat.com> |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or |
| * later. See the COPYING file in the top-level directory. |
| * |
| */ |
| |
| #ifndef RAM_ADDR_H |
| #define RAM_ADDR_H |
| |
| /* address in the RAM (different from a physical address) */ |
| #if defined(CONFIG_XEN_BACKEND) |
| typedef uint64_t ram_addr_t; |
| # define RAM_ADDR_MAX UINT64_MAX |
| # define RAM_ADDR_FMT "%" PRIx64 |
| #else |
| typedef uintptr_t ram_addr_t; |
| # define RAM_ADDR_MAX UINTPTR_MAX |
| # define RAM_ADDR_FMT "%" PRIxPTR |
| #endif |
| |
| #define DIRTY_MEMORY_VGA 0 |
| #define DIRTY_MEMORY_CODE 1 |
| #define DIRTY_MEMORY_MIGRATION 2 |
| #define DIRTY_MEMORY_NUM 3 /* num of dirty bits */ |
| |
| #endif |