| * libqos malloc support for PC |
| * Copyright IBM, Corp. 2012-2013 |
| * Anthony Liguori <aliguori@us.ibm.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. |
| #include "libqos/malloc-pc.h" |
| #include "libqos/fw_cfg.h" |
| #include "hw/nvram/fw_cfg.h" |
| static uint64_t pc_alloc(QGuestAllocator *allocator, size_t size) |
| PCAlloc *s = container_of(allocator, PCAlloc, alloc); |
| g_assert_cmpint((s->start + size), <=, s->end); |
| static void pc_free(QGuestAllocator *allocator, uint64_t addr) |
| QGuestAllocator *pc_alloc_init(void) |
| PCAlloc *s = g_malloc0(sizeof(*s)); |
| QFWCFG *fw_cfg = pc_fw_cfg_init(); |
| s->alloc.alloc = pc_alloc; |
| ram_size = qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE); |
| s->end = MIN(ram_size, 0xE0000000); |