mirror of
				https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
				synced 2025-10-30 23:58:51 +01:00 
			
		
		
		
	Fixed MTP to work with TWRP
This commit is contained in:
		
						commit
						f6dfaef42e
					
				
					 50820 changed files with 20846062 additions and 0 deletions
				
			
		
							
								
								
									
										268
									
								
								arch/ia64/include/uapi/asm/kvm.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								arch/ia64/include/uapi/asm/kvm.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,268 @@ | |||
| #ifndef __ASM_IA64_KVM_H | ||||
| #define __ASM_IA64_KVM_H | ||||
| 
 | ||||
| /*
 | ||||
|  * kvm structure definitions  for ia64 | ||||
|  * | ||||
|  * Copyright (C) 2007 Xiantao Zhang <xiantao.zhang@intel.com> | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify it | ||||
|  * under the terms and conditions of the GNU General Public License, | ||||
|  * version 2, as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope it will be useful, but WITHOUT | ||||
|  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for | ||||
|  * more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License along with | ||||
|  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple | ||||
|  * Place - Suite 330, Boston, MA 02111-1307 USA. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #include <linux/types.h> | ||||
| #include <linux/ioctl.h> | ||||
| 
 | ||||
| /* Select x86 specific features in <linux/kvm.h> */ | ||||
| #define __KVM_HAVE_IOAPIC | ||||
| #define __KVM_HAVE_IRQ_LINE | ||||
| 
 | ||||
| /* Architectural interrupt line count. */ | ||||
| #define KVM_NR_INTERRUPTS 256 | ||||
| 
 | ||||
| #define KVM_IOAPIC_NUM_PINS  48 | ||||
| 
 | ||||
| struct kvm_ioapic_state { | ||||
| 	__u64 base_address; | ||||
| 	__u32 ioregsel; | ||||
| 	__u32 id; | ||||
| 	__u32 irr; | ||||
| 	__u32 pad; | ||||
| 	union { | ||||
| 		__u64 bits; | ||||
| 		struct { | ||||
| 			__u8 vector; | ||||
| 			__u8 delivery_mode:3; | ||||
| 			__u8 dest_mode:1; | ||||
| 			__u8 delivery_status:1; | ||||
| 			__u8 polarity:1; | ||||
| 			__u8 remote_irr:1; | ||||
| 			__u8 trig_mode:1; | ||||
| 			__u8 mask:1; | ||||
| 			__u8 reserve:7; | ||||
| 			__u8 reserved[4]; | ||||
| 			__u8 dest_id; | ||||
| 		} fields; | ||||
| 	} redirtbl[KVM_IOAPIC_NUM_PINS]; | ||||
| }; | ||||
| 
 | ||||
| #define KVM_IRQCHIP_PIC_MASTER   0 | ||||
| #define KVM_IRQCHIP_PIC_SLAVE    1 | ||||
| #define KVM_IRQCHIP_IOAPIC       2 | ||||
| #define KVM_NR_IRQCHIPS          3 | ||||
| 
 | ||||
| #define KVM_CONTEXT_SIZE	8*1024 | ||||
| 
 | ||||
| struct kvm_fpreg { | ||||
| 	union { | ||||
| 		unsigned long bits[2]; | ||||
| 		long double __dummy;	/* force 16-byte alignment */ | ||||
| 	} u; | ||||
| }; | ||||
| 
 | ||||
| union context { | ||||
| 	/* 8K size */ | ||||
| 	char	dummy[KVM_CONTEXT_SIZE]; | ||||
| 	struct { | ||||
| 		unsigned long       psr; | ||||
| 		unsigned long       pr; | ||||
| 		unsigned long       caller_unat; | ||||
| 		unsigned long       pad; | ||||
| 		unsigned long       gr[32]; | ||||
| 		unsigned long       ar[128]; | ||||
| 		unsigned long       br[8]; | ||||
| 		unsigned long       cr[128]; | ||||
| 		unsigned long       rr[8]; | ||||
| 		unsigned long       ibr[8]; | ||||
| 		unsigned long       dbr[8]; | ||||
| 		unsigned long       pkr[8]; | ||||
| 		struct kvm_fpreg   fr[128]; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| struct thash_data { | ||||
| 	union { | ||||
| 		struct { | ||||
| 			unsigned long p    :  1; /* 0 */ | ||||
| 			unsigned long rv1  :  1; /* 1 */ | ||||
| 			unsigned long ma   :  3; /* 2-4 */ | ||||
| 			unsigned long a    :  1; /* 5 */ | ||||
| 			unsigned long d    :  1; /* 6 */ | ||||
| 			unsigned long pl   :  2; /* 7-8 */ | ||||
| 			unsigned long ar   :  3; /* 9-11 */ | ||||
| 			unsigned long ppn  : 38; /* 12-49 */ | ||||
| 			unsigned long rv2  :  2; /* 50-51 */ | ||||
| 			unsigned long ed   :  1; /* 52 */ | ||||
| 			unsigned long ig1  : 11; /* 53-63 */ | ||||
| 		}; | ||||
| 		struct { | ||||
| 			unsigned long __rv1 : 53;     /* 0-52 */ | ||||
| 			unsigned long contiguous : 1; /*53 */ | ||||
| 			unsigned long tc : 1;         /* 54 TR or TC */ | ||||
| 			unsigned long cl : 1; | ||||
| 			/* 55 I side or D side cache line */ | ||||
| 			unsigned long len  :  4;      /* 56-59 */ | ||||
| 			unsigned long io  : 1;	/* 60 entry is for io or not */ | ||||
| 			unsigned long nomap : 1; | ||||
| 			/* 61 entry cann't be inserted into machine TLB.*/ | ||||
| 			unsigned long checked : 1; | ||||
| 			/* 62 for VTLB/VHPT sanity check */ | ||||
| 			unsigned long invalid : 1; | ||||
| 			/* 63 invalid entry */ | ||||
| 		}; | ||||
| 		unsigned long page_flags; | ||||
| 	};                  /* same for VHPT and TLB */ | ||||
| 
 | ||||
| 	union { | ||||
| 		struct { | ||||
| 			unsigned long rv3  :  2; | ||||
| 			unsigned long ps   :  6; | ||||
| 			unsigned long key  : 24; | ||||
| 			unsigned long rv4  : 32; | ||||
| 		}; | ||||
| 		unsigned long itir; | ||||
| 	}; | ||||
| 	union { | ||||
| 		struct { | ||||
| 			unsigned long ig2  :  12; | ||||
| 			unsigned long vpn  :  49; | ||||
| 			unsigned long vrn  :   3; | ||||
| 		}; | ||||
| 		unsigned long ifa; | ||||
| 		unsigned long vadr; | ||||
| 		struct { | ||||
| 			unsigned long tag  :  63; | ||||
| 			unsigned long ti   :  1; | ||||
| 		}; | ||||
| 		unsigned long etag; | ||||
| 	}; | ||||
| 	union { | ||||
| 		struct thash_data *next; | ||||
| 		unsigned long rid; | ||||
| 		unsigned long gpaddr; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| #define	NITRS	8 | ||||
| #define NDTRS	8 | ||||
| 
 | ||||
| struct saved_vpd { | ||||
| 	unsigned long  vhpi; | ||||
| 	unsigned long  vgr[16]; | ||||
| 	unsigned long  vbgr[16]; | ||||
| 	unsigned long  vnat; | ||||
| 	unsigned long  vbnat; | ||||
| 	unsigned long  vcpuid[5]; | ||||
| 	unsigned long  vpsr; | ||||
| 	unsigned long  vpr; | ||||
| 	union { | ||||
| 		unsigned long  vcr[128]; | ||||
| 		struct { | ||||
| 			unsigned long dcr; | ||||
| 			unsigned long itm; | ||||
| 			unsigned long iva; | ||||
| 			unsigned long rsv1[5]; | ||||
| 			unsigned long pta; | ||||
| 			unsigned long rsv2[7]; | ||||
| 			unsigned long ipsr; | ||||
| 			unsigned long isr; | ||||
| 			unsigned long rsv3; | ||||
| 			unsigned long iip; | ||||
| 			unsigned long ifa; | ||||
| 			unsigned long itir; | ||||
| 			unsigned long iipa; | ||||
| 			unsigned long ifs; | ||||
| 			unsigned long iim; | ||||
| 			unsigned long iha; | ||||
| 			unsigned long rsv4[38]; | ||||
| 			unsigned long lid; | ||||
| 			unsigned long ivr; | ||||
| 			unsigned long tpr; | ||||
| 			unsigned long eoi; | ||||
| 			unsigned long irr[4]; | ||||
| 			unsigned long itv; | ||||
| 			unsigned long pmv; | ||||
| 			unsigned long cmcv; | ||||
| 			unsigned long rsv5[5]; | ||||
| 			unsigned long lrr0; | ||||
| 			unsigned long lrr1; | ||||
| 			unsigned long rsv6[46]; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| struct kvm_regs { | ||||
| 	struct saved_vpd vpd; | ||||
| 	/*Arch-regs*/ | ||||
| 	int mp_state; | ||||
| 	unsigned long vmm_rr; | ||||
| 	/* TR and TC.  */ | ||||
| 	struct thash_data itrs[NITRS]; | ||||
| 	struct thash_data dtrs[NDTRS]; | ||||
| 	/* Bit is set if there is a tr/tc for the region.  */ | ||||
| 	unsigned char itr_regions; | ||||
| 	unsigned char dtr_regions; | ||||
| 	unsigned char tc_regions; | ||||
| 
 | ||||
| 	char irq_check; | ||||
| 	unsigned long saved_itc; | ||||
| 	unsigned long itc_check; | ||||
| 	unsigned long timer_check; | ||||
| 	unsigned long timer_pending; | ||||
| 	unsigned long last_itc; | ||||
| 
 | ||||
| 	unsigned long vrr[8]; | ||||
| 	unsigned long ibr[8]; | ||||
| 	unsigned long dbr[8]; | ||||
| 	unsigned long insvc[4];		/* Interrupt in service.  */ | ||||
| 	unsigned long xtp; | ||||
| 
 | ||||
| 	unsigned long metaphysical_rr0; /* from kvm_arch (so is pinned) */ | ||||
| 	unsigned long metaphysical_rr4;	/* from kvm_arch (so is pinned) */ | ||||
| 	unsigned long metaphysical_saved_rr0; /* from kvm_arch          */ | ||||
| 	unsigned long metaphysical_saved_rr4; /* from kvm_arch          */ | ||||
| 	unsigned long fp_psr;       /*used for lazy float register */ | ||||
| 	unsigned long saved_gp; | ||||
| 	/*for phycial  emulation */ | ||||
| 
 | ||||
| 	union context saved_guest; | ||||
| 
 | ||||
| 	unsigned long reserved[64];	/* for future use */ | ||||
| }; | ||||
| 
 | ||||
| struct kvm_sregs { | ||||
| }; | ||||
| 
 | ||||
| struct kvm_fpu { | ||||
| }; | ||||
| 
 | ||||
| #define KVM_IA64_VCPU_STACK_SHIFT	16 | ||||
| #define KVM_IA64_VCPU_STACK_SIZE	(1UL << KVM_IA64_VCPU_STACK_SHIFT) | ||||
| 
 | ||||
| struct kvm_ia64_vcpu_stack { | ||||
| 	unsigned char stack[KVM_IA64_VCPU_STACK_SIZE]; | ||||
| }; | ||||
| 
 | ||||
| struct kvm_debug_exit_arch { | ||||
| }; | ||||
| 
 | ||||
| /* for KVM_SET_GUEST_DEBUG */ | ||||
| struct kvm_guest_debug_arch { | ||||
| }; | ||||
| 
 | ||||
| /* definition of registers in kvm_run */ | ||||
| struct kvm_sync_regs { | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 awab228
						awab228