Message ID | 20250313163903.1738581-13-pierrick.bouvier@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | make system memory API available for common code | expand |
On Thu, Mar 13, 2025 at 09:38:58AM -0700, Pierrick Bouvier wrote: > Those functions are used by system/physmem.c, and are called only if > xen is enabled (which happens only if CONFIG_XEN is not set). You mean, 's/is not set/is set/'? > > So we can crash in case those are called. > > Acked-by: Richard Henderson <richard.henderson@linaro.org> > Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> > --- > diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c > new file mode 100644 > index 00000000000..19cee84bbb4 > --- /dev/null > +++ b/hw/xen/xen_stubs.c > + > +void xen_invalidate_map_cache(void) > +{ Is this stub actually necessary? xen_invalidate_map_cache() doesn't seems to be used outside of xen's code. In anycase: Acked-by: Anthony PERARD <anthony.perard@vates.tech> Thanks,
On 3/14/25 06:35, Anthony PERARD wrote: > On Thu, Mar 13, 2025 at 09:38:58AM -0700, Pierrick Bouvier wrote: >> Those functions are used by system/physmem.c, and are called only if >> xen is enabled (which happens only if CONFIG_XEN is not set). > > You mean, 's/is not set/is set/'? Right, I'll update the comment. >> >> So we can crash in case those are called. >> >> Acked-by: Richard Henderson <richard.henderson@linaro.org> >> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> >> --- >> diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c >> new file mode 100644 >> index 00000000000..19cee84bbb4 >> --- /dev/null >> +++ b/hw/xen/xen_stubs.c >> + >> +void xen_invalidate_map_cache(void) >> +{ > > Is this stub actually necessary? xen_invalidate_map_cache() doesn't > seems to be used outside of xen's code. > You're right again, I added it by mistake. > In anycase: > Acked-by: Anthony PERARD <anthony.perard@vates.tech> > > Thanks, >
diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c new file mode 100644 index 00000000000..19cee84bbb4 --- /dev/null +++ b/hw/xen/xen_stubs.c @@ -0,0 +1,56 @@ +/* + * Various stubs for xen functions + * + * Those functions are used only if xen_enabled(). This file is linked only if + * CONFIG_XEN is not set, so they should never be called. + * + * Copyright (c) 2025 Linaro, Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "system/xen.h" +#include "system/xen-mapcache.h" + +void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) +{ + g_assert_not_reached(); +} + +void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, + struct MemoryRegion *mr, Error **errp) +{ + g_assert_not_reached(); +} + +bool xen_mr_is_memory(MemoryRegion *mr) +{ + g_assert_not_reached(); +} + +void xen_invalidate_map_cache_entry(uint8_t *buffer) +{ + g_assert_not_reached(); +} + +void xen_invalidate_map_cache(void) +{ + g_assert_not_reached(); +} + +ram_addr_t xen_ram_addr_from_mapcache(void *ptr) +{ + g_assert_not_reached(); +} + +uint8_t *xen_map_cache(MemoryRegion *mr, + hwaddr phys_addr, + hwaddr size, + ram_addr_t ram_addr_offset, + uint8_t lock, + bool dma, + bool is_write) +{ + g_assert_not_reached(); +} diff --git a/hw/xen/meson.build b/hw/xen/meson.build index 4a486e36738..a1850e76988 100644 --- a/hw/xen/meson.build +++ b/hw/xen/meson.build @@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files( system_ss.add(when: ['CONFIG_XEN', xen], if_true: files( 'xen-operations.c', +), +if_false: files( + 'xen_stubs.c', )) xen_specific_ss = ss.source_set()