Hi Jan,
On 02/12/2020 14:50, Jan Beulich wrote:
xen/mm.h has heavy dependencies, while in a number of cases only these
type definitions are needed. This separation then also allows pulling in
these definitions when including xen/mm.h would cause cyclic
dependencies.
Replace xen/mm.h inclusion where possible in include/xen/. (In
xen/iommu.h also take the opportunity and correct the few remaining
sorting issues.)
Signed-off-by: Jan Beulich <jbeul...@suse.com>
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -10,7 +10,6 @@
* Slimmed with Xen specific support.
*/
-#include <asm/io.h>
This seems to be unrelated of this work.
#include <xen/acpi.h>
#include <xen/errno.h>
#include <xen/iocap.h>
--- a/xen/drivers/char/meson-uart.c
+++ b/xen/drivers/char/meson-uart.c
@@ -18,7 +18,9 @@
* License along with this program; If not, see
<http://www.gnu.org/licenses/>.
*/
+#include <xen/errno.h>
#include <xen/irq.h>
+#include <xen/mm.h>
I was going to ask why xen/mm.h needs to be included here. But it looks
like ioremap_nocache() is defined in mm.h rather than vmap.h.
I will add it as a clean-up on my side.
#include <xen/serial.h>
#include <xen/vmap.h>
#include <asm/io.h>
--- a/xen/drivers/char/mvebu-uart.c
+++ b/xen/drivers/char/mvebu-uart.c
@@ -18,7 +18,9 @@
* License along with this program; If not, see
<http://www.gnu.org/licenses/>.
*/
+#include <xen/errno.h>
#include <xen/irq.h>
+#include <xen/mm.h>
#include <xen/serial.h>
#include <xen/vmap.h>
#include <asm/io.h>
--- a/xen/include/asm-x86/io.h
+++ b/xen/include/asm-x86/io.h
@@ -49,6 +49,7 @@ __OUT(l,,int)
/* Function pointer used to handle platform specific I/O port emulation. */
#define IOEMUL_QUIRK_STUB_BYTES 9
+struct cpu_user_regs;
extern unsigned int (*ioemul_handle_quirk)(
u8 opcode, char *io_emul_stub, struct cpu_user_regs *regs);
--- /dev/null
+++ b/xen/include/xen/frame-num.h
It would feel more natural to me if the file is named mm-types.h.
Cheers,
--
Julien Grall