mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	Add essential and required Xen interface headers only taken from the stable Linux kernel stable/linux-5.7.y at commit 66dfe4522160 Linux 5.7.5. These are better suited for U-boot than the original headers from Xen as they are the stripped versions of the same. At the same time use public protocols from Xen RELEASE-4.13.1, at commit 6278553325a9 update Xen version to 4.13.1 as those have more comments in them. Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com> Acked-by: Peng Fan <peng.fan@nxp.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: MIT
 | 
						|
 *
 | 
						|
 * hvm_op.h
 | 
						|
 *
 | 
						|
 * Copyright (c) 2007, Keir Fraser
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
 | 
						|
#define __XEN_PUBLIC_HVM_HVM_OP_H__
 | 
						|
 | 
						|
/* Get/set subcommands: the second argument of the hypercall is a
 | 
						|
 * pointer to a xen_hvm_param struct.
 | 
						|
 */
 | 
						|
#define HVMOP_set_param           0
 | 
						|
#define HVMOP_get_param           1
 | 
						|
struct xen_hvm_param {
 | 
						|
	domid_t  domid;    /* IN */
 | 
						|
	u32 index;    /* IN */
 | 
						|
	u64 value;    /* IN/OUT */
 | 
						|
};
 | 
						|
 | 
						|
DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_param);
 | 
						|
 | 
						|
/* Hint from PV drivers for pagetable destruction. */
 | 
						|
#define HVMOP_pagetable_dying       9
 | 
						|
struct xen_hvm_pagetable_dying {
 | 
						|
	/* Domain with a pagetable about to be destroyed. */
 | 
						|
	domid_t  domid;
 | 
						|
	/* guest physical address of the toplevel pagetable dying */
 | 
						|
	aligned_u64 gpa;
 | 
						|
};
 | 
						|
 | 
						|
DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying);
 | 
						|
 | 
						|
enum hvmmem_type_t {
 | 
						|
	HVMMEM_ram_rw,             /* Normal read/write guest RAM */
 | 
						|
	HVMMEM_ram_ro,             /* Read-only; writes are discarded */
 | 
						|
	HVMMEM_mmio_dm,            /* Reads and write go to the device model */
 | 
						|
};
 | 
						|
 | 
						|
#define HVMOP_get_mem_type    15
 | 
						|
/* Return hvmmem_type_t for the specified pfn. */
 | 
						|
struct xen_hvm_get_mem_type {
 | 
						|
	/* Domain to be queried. */
 | 
						|
	domid_t domid;
 | 
						|
	/* OUT variable. */
 | 
						|
	u16 mem_type;
 | 
						|
	u16 pad[2]; /* align next field on 8-byte boundary */
 | 
						|
	/* IN variable. */
 | 
						|
	u64 pfn;
 | 
						|
};
 | 
						|
 | 
						|
DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_type);
 | 
						|
 | 
						|
#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
 |