You need to sign in or sign up before continuing.
提交 fa02e608 编写于 作者: J John Snow 提交者: Stefan Hajnoczi

libqos: add alloc_init_flags

Allow a generic interface to alloc_init_flags,
not just through pc_alloc_init_flags.
Signed-off-by: NJohn Snow <jsnow@redhat.com>
Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
Message-id: 1421698563-6977-6-git-send-email-jsnow@redhat.com
Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
上级 f1518d11
...@@ -37,9 +37,7 @@ QGuestAllocator *pc_alloc_init_flags(QAllocOpts flags) ...@@ -37,9 +37,7 @@ QGuestAllocator *pc_alloc_init_flags(QAllocOpts flags)
QFWCFG *fw_cfg = pc_fw_cfg_init(); QFWCFG *fw_cfg = pc_fw_cfg_init();
ram_size = qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE); ram_size = qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE);
s = alloc_init(1 << 20, MIN(ram_size, 0xE0000000)); s = alloc_init_flags(flags, 1 << 20, MIN(ram_size, 0xE0000000));
s->opts = flags;
s->page_size = PAGE_SIZE; s->page_size = PAGE_SIZE;
/* clean-up */ /* clean-up */
......
...@@ -285,3 +285,11 @@ QGuestAllocator *alloc_init(uint64_t start, uint64_t end) ...@@ -285,3 +285,11 @@ QGuestAllocator *alloc_init(uint64_t start, uint64_t end)
return s; return s;
} }
QGuestAllocator *alloc_init_flags(QAllocOpts opts,
uint64_t start, uint64_t end)
{
QGuestAllocator *s = alloc_init(start, end);
s->opts = opts;
return s;
}
...@@ -51,4 +51,6 @@ uint64_t guest_alloc(QGuestAllocator *allocator, size_t size); ...@@ -51,4 +51,6 @@ uint64_t guest_alloc(QGuestAllocator *allocator, size_t size);
void guest_free(QGuestAllocator *allocator, uint64_t addr); void guest_free(QGuestAllocator *allocator, uint64_t addr);
QGuestAllocator *alloc_init(uint64_t start, uint64_t end); QGuestAllocator *alloc_init(uint64_t start, uint64_t end);
QGuestAllocator *alloc_init_flags(QAllocOpts flags,
uint64_t start, uint64_t end);
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册