mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-25 01:58:13 +01: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__ */
 |