mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen: add kconfig for event_fifo
Evtchn fifos are not needed on smaller systems; the older interface is lightweight and sufficient. Also, event_fifo causes runtime anonymous memory allocations, which are undesirable. Additionally, it exposes an extra interface to the guest, which is also undesirable unless necessary. Make it possible to disable evtchn fifo. Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> Acked-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
1 parent
ae5fd39be9
commit
cfe15a473d
3 files changed
+30
-1
No files matched your search
@@ -23,6 +23,20 @@ config GRANT_TABLE
|
|||||||
|
|
||||||
If unsure, say Y.
|
If unsure, say Y.
|
||||||
|
|
||||||
|
config EVTCHN_FIFO
|
||||||
|
bool "Event Channel Fifo support" if EXPERT
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
The Event channel Fifo extends support for event channels
|
||||||
|
beyond 1024 event channels for 32-bit guests and 4096 for
|
||||||
|
64-bit guests.
|
||||||
|
|
||||||
|
Cons: They cause runtime anonymous memory allocations and expose
|
||||||
|
an additional interface to the guest. For smaller systems, you
|
||||||
|
might consider disabling this feature.
|
||||||
|
|
||||||
|
If unsure, say Y.
|
||||||
|
|
||||||
config PDX_COMPRESSION
|
config PDX_COMPRESSION
|
||||||
bool "PDX (Page inDeX) compression" if EXPERT && !X86 && !RISCV
|
bool "PDX (Page inDeX) compression" if EXPERT && !X86 && !RISCV
|
||||||
default ARM || PPC
|
default ARM || PPC
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ obj-$(CONFIG_IOREQ_SERVER) += dm.o
|
|||||||
obj-y += domain.o
|
obj-y += domain.o
|
||||||
obj-y += event_2l.o
|
obj-y += event_2l.o
|
||||||
obj-y += event_channel.o
|
obj-y += event_channel.o
|
||||||
obj-y += event_fifo.o
|
obj-$(CONFIG_EVTCHN_FIFO) += event_fifo.o
|
||||||
obj-$(CONFIG_GRANT_TABLE) += grant_table.o
|
obj-$(CONFIG_GRANT_TABLE) += grant_table.o
|
||||||
obj-y += guestcopy.o
|
obj-y += guestcopy.o
|
||||||
obj-y += gzip/
|
obj-y += gzip/
|
||||||
|
|||||||
@@ -45,12 +45,27 @@ void evtchn_2l_init(struct domain *d);
|
|||||||
|
|
||||||
/* FIFO */
|
/* FIFO */
|
||||||
|
|
||||||
|
#ifdef CONFIG_EVTCHN_FIFO
|
||||||
struct evtchn_init_control;
|
struct evtchn_init_control;
|
||||||
struct evtchn_expand_array;
|
struct evtchn_expand_array;
|
||||||
|
|
||||||
int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
|
int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
|
||||||
int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
|
int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
|
||||||
void evtchn_fifo_destroy(struct domain *d);
|
void evtchn_fifo_destroy(struct domain *d);
|
||||||
|
#else
|
||||||
|
static inline int evtchn_fifo_init_control(struct evtchn_init_control *init_control)
|
||||||
|
{
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
}
|
||||||
|
static inline int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array)
|
||||||
|
{
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
}
|
||||||
|
static inline void evtchn_fifo_destroy(struct domain *d)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_EVTCHN_FIFO */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local variables:
|
* Local variables:
|
||||||
|
|||||||