Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
fff02bc0
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fff02bc0
编写于
12月 15, 2015
作者:
P
Paolo Bonzini
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
linux-headers: update from kvm/next
Signed-off-by:
N
Paolo Bonzini
<
pbonzini@redhat.com
>
上级
d5da3ef2
变更
16
展开全部
隐藏空白更改
内联
并排
Showing
16 changed file
with
1095 addition
and
798 deletion
+1095
-798
hw/display/virtio-gpu.c
hw/display/virtio-gpu.c
+2
-2
include/standard-headers/asm-x86/hyperv.h
include/standard-headers/asm-x86/hyperv.h
+104
-0
include/standard-headers/linux/input-event-codes.h
include/standard-headers/linux/input-event-codes.h
+805
-0
include/standard-headers/linux/input.h
include/standard-headers/linux/input.h
+66
-784
include/standard-headers/linux/pci_regs.h
include/standard-headers/linux/pci_regs.h
+42
-1
include/standard-headers/linux/virtio_gpu.h
include/standard-headers/linux/virtio_gpu.h
+1
-1
linux-headers/asm-arm64/kvm.h
linux-headers/asm-arm64/kvm.h
+1
-1
linux-headers/asm-powerpc/unistd.h
linux-headers/asm-powerpc/unistd.h
+13
-0
linux-headers/asm-s390/kvm.h
linux-headers/asm-s390/kvm.h
+2
-0
linux-headers/asm-s390/unistd.h
linux-headers/asm-s390/unistd.h
+10
-9
linux-headers/asm-x86/unistd_32.h
linux-headers/asm-x86/unistd_32.h
+1
-0
linux-headers/asm-x86/unistd_64.h
linux-headers/asm-x86/unistd_64.h
+1
-0
linux-headers/asm-x86/unistd_x32.h
linux-headers/asm-x86/unistd_x32.h
+1
-0
linux-headers/linux/kvm.h
linux-headers/linux/kvm.h
+25
-0
linux-headers/linux/psci.h
linux-headers/linux/psci.h
+18
-0
scripts/update-linux-headers.sh
scripts/update-linux-headers.sh
+3
-0
未找到文件。
hw/display/virtio-gpu.c
浏览文件 @
fff02bc0
...
...
@@ -146,14 +146,14 @@ static uint64_t virtio_gpu_get_features(VirtIODevice *vdev, uint64_t features,
VirtIOGPU
*
g
=
VIRTIO_GPU
(
vdev
);
if
(
virtio_gpu_virgl_enabled
(
g
->
conf
))
{
features
|=
(
1
<<
VIRTIO_GPU_F
EATURE
_VIRGL
);
features
|=
(
1
<<
VIRTIO_GPU_F_VIRGL
);
}
return
features
;
}
static
void
virtio_gpu_set_features
(
VirtIODevice
*
vdev
,
uint64_t
features
)
{
static
const
uint32_t
virgl
=
(
1
<<
VIRTIO_GPU_F
EATURE
_VIRGL
);
static
const
uint32_t
virgl
=
(
1
<<
VIRTIO_GPU_F_VIRGL
);
VirtIOGPU
*
g
=
VIRTIO_GPU
(
vdev
);
g
->
use_virgl_renderer
=
((
features
&
virgl
)
==
virgl
);
...
...
include/standard-headers/asm-x86/hyperv.h
浏览文件 @
fff02bc0
...
...
@@ -257,4 +257,108 @@ typedef struct _HV_REFERENCE_TSC_PAGE {
int64_t
tsc_offset
;
}
HV_REFERENCE_TSC_PAGE
,
*
PHV_REFERENCE_TSC_PAGE
;
/* Define the number of synthetic interrupt sources. */
#define HV_SYNIC_SINT_COUNT (16)
/* Define the expected SynIC version. */
#define HV_SYNIC_VERSION_1 (0x1)
#define HV_SYNIC_CONTROL_ENABLE (1ULL << 0)
#define HV_SYNIC_SIMP_ENABLE (1ULL << 0)
#define HV_SYNIC_SIEFP_ENABLE (1ULL << 0)
#define HV_SYNIC_SINT_MASKED (1ULL << 16)
#define HV_SYNIC_SINT_AUTO_EOI (1ULL << 17)
#define HV_SYNIC_SINT_VECTOR_MASK (0xFF)
#define HV_SYNIC_STIMER_COUNT (4)
/* Define synthetic interrupt controller message constants. */
#define HV_MESSAGE_SIZE (256)
#define HV_MESSAGE_PAYLOAD_BYTE_COUNT (240)
#define HV_MESSAGE_PAYLOAD_QWORD_COUNT (30)
/* Define hypervisor message types. */
enum
hv_message_type
{
HVMSG_NONE
=
0x00000000
,
/* Memory access messages. */
HVMSG_UNMAPPED_GPA
=
0x80000000
,
HVMSG_GPA_INTERCEPT
=
0x80000001
,
/* Timer notification messages. */
HVMSG_TIMER_EXPIRED
=
0x80000010
,
/* Error messages. */
HVMSG_INVALID_VP_REGISTER_VALUE
=
0x80000020
,
HVMSG_UNRECOVERABLE_EXCEPTION
=
0x80000021
,
HVMSG_UNSUPPORTED_FEATURE
=
0x80000022
,
/* Trace buffer complete messages. */
HVMSG_EVENTLOG_BUFFERCOMPLETE
=
0x80000040
,
/* Platform-specific processor intercept messages. */
HVMSG_X64_IOPORT_INTERCEPT
=
0x80010000
,
HVMSG_X64_MSR_INTERCEPT
=
0x80010001
,
HVMSG_X64_CPUID_INTERCEPT
=
0x80010002
,
HVMSG_X64_EXCEPTION_INTERCEPT
=
0x80010003
,
HVMSG_X64_APIC_EOI
=
0x80010004
,
HVMSG_X64_LEGACY_FP_ERROR
=
0x80010005
};
/* Define synthetic interrupt controller message flags. */
union
hv_message_flags
{
uint8_t
asu8
;
struct
{
uint8_t
msg_pending
:
1
;
uint8_t
reserved
:
7
;
};
};
/* Define port identifier type. */
union
hv_port_id
{
uint32_t
asu32
;
struct
{
uint32_t
id
:
24
;
uint32_t
reserved
:
8
;
}
u
;
};
/* Define synthetic interrupt controller message header. */
struct
hv_message_header
{
uint32_t
message_type
;
uint8_t
payload_size
;
union
hv_message_flags
message_flags
;
uint8_t
reserved
[
2
];
union
{
uint64_t
sender
;
union
hv_port_id
port
;
};
};
/* Define synthetic interrupt controller message format. */
struct
hv_message
{
struct
hv_message_header
header
;
union
{
uint64_t
payload
[
HV_MESSAGE_PAYLOAD_QWORD_COUNT
];
}
u
;
};
/* Define the synthetic interrupt message page layout. */
struct
hv_message_page
{
struct
hv_message
sint_message
[
HV_SYNIC_SINT_COUNT
];
};
/* Define timer message payload structure. */
struct
hv_timer_message_payload
{
uint32_t
timer_index
;
uint32_t
reserved
;
uint64_t
expiration_time
;
/* When the timer expired */
uint64_t
delivery_time
;
/* When the message was delivered */
};
#define HV_STIMER_ENABLE (1ULL << 0)
#define HV_STIMER_PERIODIC (1ULL << 1)
#define HV_STIMER_LAZY (1ULL << 2)
#define HV_STIMER_AUTOENABLE (1ULL << 3)
#define HV_STIMER_SINT(config) (uint8_t)(((config) >> 16) & 0x0F)
#endif
include/standard-headers/linux/input-event-codes.h
0 → 100644
浏览文件 @
fff02bc0
此差异已折叠。
点击以展开。
include/standard-headers/linux/input.h
浏览文件 @
fff02bc0
此差异已折叠。
点击以展开。
include/standard-headers/linux/pci_regs.h
浏览文件 @
fff02bc0
...
...
@@ -216,7 +216,8 @@
#define PCI_CAP_ID_MSIX 0x11
/* MSI-X */
#define PCI_CAP_ID_SATA 0x12
/* SATA Data/Index Conf. */
#define PCI_CAP_ID_AF 0x13
/* PCI Advanced Features */
#define PCI_CAP_ID_MAX PCI_CAP_ID_AF
#define PCI_CAP_ID_EA 0x14
/* PCI Enhanced Allocation */
#define PCI_CAP_ID_MAX PCI_CAP_ID_EA
#define PCI_CAP_LIST_NEXT 1
/* Next capability in the list */
#define PCI_CAP_FLAGS 2
/* Capability defined flags (16 bits) */
#define PCI_CAP_SIZEOF 4
...
...
@@ -353,6 +354,46 @@
#define PCI_AF_STATUS_TP 0x01
#define PCI_CAP_AF_SIZEOF 6
/* size of AF registers */
/* PCI Enhanced Allocation registers */
#define PCI_EA_NUM_ENT 2
/* Number of Capability Entries */
#define PCI_EA_NUM_ENT_MASK 0x3f
/* Num Entries Mask */
#define PCI_EA_FIRST_ENT 4
/* First EA Entry in List */
#define PCI_EA_FIRST_ENT_BRIDGE 8
/* First EA Entry for Bridges */
#define PCI_EA_ES 0x00000007
/* Entry Size */
#define PCI_EA_BEI 0x000000f0
/* BAR Equivalent Indicator */
/* 0-5 map to BARs 0-5 respectively */
#define PCI_EA_BEI_BAR0 0
#define PCI_EA_BEI_BAR5 5
#define PCI_EA_BEI_BRIDGE 6
/* Resource behind bridge */
#define PCI_EA_BEI_ENI 7
/* Equivalent Not Indicated */
#define PCI_EA_BEI_ROM 8
/* Expansion ROM */
/* 9-14 map to VF BARs 0-5 respectively */
#define PCI_EA_BEI_VF_BAR0 9
#define PCI_EA_BEI_VF_BAR5 14
#define PCI_EA_BEI_RESERVED 15
/* Reserved - Treat like ENI */
#define PCI_EA_PP 0x0000ff00
/* Primary Properties */
#define PCI_EA_SP 0x00ff0000
/* Secondary Properties */
#define PCI_EA_P_MEM 0x00
/* Non-Prefetch Memory */
#define PCI_EA_P_MEM_PREFETCH 0x01
/* Prefetchable Memory */
#define PCI_EA_P_IO 0x02
/* I/O Space */
#define PCI_EA_P_VF_MEM_PREFETCH 0x03
/* VF Prefetchable Memory */
#define PCI_EA_P_VF_MEM 0x04
/* VF Non-Prefetch Memory */
#define PCI_EA_P_BRIDGE_MEM 0x05
/* Bridge Non-Prefetch Memory */
#define PCI_EA_P_BRIDGE_MEM_PREFETCH 0x06
/* Bridge Prefetchable Memory */
#define PCI_EA_P_BRIDGE_IO 0x07
/* Bridge I/O Space */
/* 0x08-0xfc reserved */
#define PCI_EA_P_MEM_RESERVED 0xfd
/* Reserved Memory */
#define PCI_EA_P_IO_RESERVED 0xfe
/* Reserved I/O Space */
#define PCI_EA_P_UNAVAILABLE 0xff
/* Entry Unavailable */
#define PCI_EA_WRITABLE 0x40000000
/* Writable: 1 = RW, 0 = HwInit */
#define PCI_EA_ENABLE 0x80000000
/* Enable for this entry */
#define PCI_EA_BASE 4
/* Base Address Offset */
#define PCI_EA_MAX_OFFSET 8
/* MaxOffset (resource length) */
/* bit 0 is reserved */
#define PCI_EA_IS_64 0x00000002
/* 64-bit field flag */
#define PCI_EA_FIELD_MASK 0xfffffffc
/* For Base & Max Offset */
/* PCI-X registers (Type 0 (non-bridge) devices) */
#define PCI_X_CMD 2
/* Modes & Features */
...
...
include/standard-headers/linux/virtio_gpu.h
浏览文件 @
fff02bc0
...
...
@@ -40,7 +40,7 @@
#include "standard-headers/linux/types.h"
#define VIRTIO_GPU_F
EATURE
_VIRGL 0
#define VIRTIO_GPU_F_VIRGL 0
enum
virtio_gpu_ctrl_type
{
VIRTIO_GPU_UNDEFINED
=
0
,
...
...
linux-headers/asm-arm64/kvm.h
浏览文件 @
fff02bc0
...
...
@@ -32,7 +32,7 @@
#ifndef __ASSEMBLY__
#include <linux/psci.h>
#include <
asm
/types.h>
#include <
linux
/types.h>
#include <asm/ptrace.h>
#define __KVM_HAVE_GUEST_DEBUG
...
...
linux-headers/asm-powerpc/unistd.h
浏览文件 @
fff02bc0
...
...
@@ -388,5 +388,18 @@
#define __NR_switch_endian 363
#define __NR_userfaultfd 364
#define __NR_membarrier 365
#define __NR_semop 366
#define __NR_semget 367
#define __NR_semctl 368
#define __NR_semtimedop 369
#define __NR_msgsnd 370
#define __NR_msgrcv 371
#define __NR_msgget 372
#define __NR_msgctl 373
#define __NR_shmat 374
#define __NR_shmdt 375
#define __NR_shmget 376
#define __NR_shmctl 377
#define __NR_mlock2 378
#endif
/* _ASM_POWERPC_UNISTD_H_ */
linux-headers/asm-s390/kvm.h
浏览文件 @
fff02bc0
...
...
@@ -66,6 +66,8 @@ struct kvm_s390_io_adapter_req {
#define KVM_S390_VM_MEM_CLR_CMMA 1
#define KVM_S390_VM_MEM_LIMIT_SIZE 2
#define KVM_S390_NO_MEM_LIMIT U64_MAX
/* kvm attributes for KVM_S390_VM_TOD */
#define KVM_S390_VM_TOD_LOW 0
#define KVM_S390_VM_TOD_HIGH 1
...
...
linux-headers/asm-s390/unistd.h
浏览文件 @
fff02bc0
...
...
@@ -192,14 +192,14 @@
#define __NR_set_tid_address 252
#define __NR_fadvise64 253
#define __NR_timer_create 254
#define __NR_timer_settime
(__NR_timer_create+1)
#define __NR_timer_gettime
(__NR_timer_create+2)
#define __NR_timer_getoverrun
(__NR_timer_create+3)
#define __NR_timer_delete
(__NR_timer_create+4)
#define __NR_clock_settime
(__NR_timer_create+5)
#define __NR_clock_gettime
(__NR_timer_create+6)
#define __NR_clock_getres
(__NR_timer_create+7)
#define __NR_clock_nanosleep
(__NR_timer_create+8)
#define __NR_timer_settime
255
#define __NR_timer_gettime
256
#define __NR_timer_getoverrun
257
#define __NR_timer_delete
258
#define __NR_clock_settime
259
#define __NR_clock_gettime
260
#define __NR_clock_getres
261
#define __NR_clock_nanosleep
262
/* Number 263 is reserved for vserver */
#define __NR_statfs64 265
#define __NR_fstatfs64 266
...
...
@@ -309,7 +309,8 @@
#define __NR_recvfrom 371
#define __NR_recvmsg 372
#define __NR_shutdown 373
#define NR_syscalls 374
#define __NR_mlock2 374
#define NR_syscalls 375
/*
* There are some system calls that are not present on 64 bit, some
...
...
linux-headers/asm-x86/unistd_32.h
浏览文件 @
fff02bc0
...
...
@@ -373,5 +373,6 @@
#define __NR_shutdown 373
#define __NR_userfaultfd 374
#define __NR_membarrier 375
#define __NR_mlock2 376
#endif
/* _ASM_X86_UNISTD_32_H */
linux-headers/asm-x86/unistd_64.h
浏览文件 @
fff02bc0
...
...
@@ -326,5 +326,6 @@
#define __NR_execveat 322
#define __NR_userfaultfd 323
#define __NR_membarrier 324
#define __NR_mlock2 325
#endif
/* _ASM_X86_UNISTD_64_H */
linux-headers/asm-x86/unistd_x32.h
浏览文件 @
fff02bc0
...
...
@@ -281,6 +281,7 @@
#define __NR_bpf (__X32_SYSCALL_BIT + 321)
#define __NR_userfaultfd (__X32_SYSCALL_BIT + 323)
#define __NR_membarrier (__X32_SYSCALL_BIT + 324)
#define __NR_mlock2 (__X32_SYSCALL_BIT + 325)
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
...
...
linux-headers/linux/kvm.h
浏览文件 @
fff02bc0
...
...
@@ -154,6 +154,20 @@ struct kvm_s390_skeys {
__u32
flags
;
__u32
reserved
[
9
];
};
struct
kvm_hyperv_exit
{
#define KVM_EXIT_HYPERV_SYNIC 1
__u32
type
;
union
{
struct
{
__u32
msr
;
__u64
control
;
__u64
evt_page
;
__u64
msg_page
;
}
synic
;
}
u
;
};
#define KVM_S390_GET_SKEYS_NONE 1
#define KVM_S390_SKEYS_MAX 1048576
...
...
@@ -184,6 +198,7 @@ struct kvm_s390_skeys {
#define KVM_EXIT_SYSTEM_EVENT 24
#define KVM_EXIT_S390_STSI 25
#define KVM_EXIT_IOAPIC_EOI 26
#define KVM_EXIT_HYPERV 27
/* For KVM_EXIT_INTERNAL_ERROR */
/* Emulate instruction failed. */
...
...
@@ -338,6 +353,8 @@ struct kvm_run {
struct
{
__u8
vector
;
}
eoi
;
/* KVM_EXIT_HYPERV */
struct
kvm_hyperv_exit
hyperv
;
/* Fix the size of the union. */
char
padding
[
256
];
};
...
...
@@ -831,6 +848,7 @@ struct kvm_ppc_smmu_info {
#define KVM_CAP_GUEST_DEBUG_HW_WPS 120
#define KVM_CAP_SPLIT_IRQCHIP 121
#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122
#define KVM_CAP_HYPERV_SYNIC 123
#ifdef KVM_CAP_IRQ_ROUTING
...
...
@@ -854,10 +872,16 @@ struct kvm_irq_routing_s390_adapter {
__u32
adapter_id
;
};
struct
kvm_irq_routing_hv_sint
{
__u32
vcpu
;
__u32
sint
;
};
/* gsi routing entry types */
#define KVM_IRQ_ROUTING_IRQCHIP 1
#define KVM_IRQ_ROUTING_MSI 2
#define KVM_IRQ_ROUTING_S390_ADAPTER 3
#define KVM_IRQ_ROUTING_HV_SINT 4
struct
kvm_irq_routing_entry
{
__u32
gsi
;
...
...
@@ -868,6 +892,7 @@ struct kvm_irq_routing_entry {
struct
kvm_irq_routing_irqchip
irqchip
;
struct
kvm_irq_routing_msi
msi
;
struct
kvm_irq_routing_s390_adapter
adapter
;
struct
kvm_irq_routing_hv_sint
hv_sint
;
__u32
pad
[
8
];
}
u
;
};
...
...
linux-headers/linux/psci.h
浏览文件 @
fff02bc0
...
...
@@ -46,6 +46,11 @@
#define PSCI_0_2_FN64_MIGRATE PSCI_0_2_FN64(5)
#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7)
#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10)
#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14)
#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14)
/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
#define PSCI_0_2_POWER_STATE_ID_SHIFT 0
...
...
@@ -56,6 +61,13 @@
#define PSCI_0_2_POWER_STATE_AFFL_MASK \
(0x3 << PSCI_0_2_POWER_STATE_AFFL_SHIFT)
/* PSCI extended power state encoding for CPU_SUSPEND function */
#define PSCI_1_0_EXT_POWER_STATE_ID_MASK 0xfffffff
#define PSCI_1_0_EXT_POWER_STATE_ID_SHIFT 0
#define PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT 30
#define PSCI_1_0_EXT_POWER_STATE_TYPE_MASK \
(0x1 << PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT)
/* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
#define PSCI_0_2_AFFINITY_LEVEL_ON 0
#define PSCI_0_2_AFFINITY_LEVEL_OFF 1
...
...
@@ -76,6 +88,11 @@
#define PSCI_VERSION_MINOR(ver) \
((ver) & PSCI_VERSION_MINOR_MASK)
/* PSCI features decoding (>=1.0) */
#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT 1
#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK \
(0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
/* PSCI return values (inclusive of all PSCI versions) */
#define PSCI_RET_SUCCESS 0
#define PSCI_RET_NOT_SUPPORTED -1
...
...
@@ -86,5 +103,6 @@
#define PSCI_RET_INTERNAL_FAILURE -6
#define PSCI_RET_NOT_PRESENT -7
#define PSCI_RET_DISABLED -8
#define PSCI_RET_INVALID_ADDRESS -9
#endif
/* _LINUX_PSCI_H */
scripts/update-linux-headers.sh
浏览文件 @
fff02bc0
...
...
@@ -36,6 +36,7 @@ cp_portable() {
-e
'linux/types'
\
-e
'stdint'
\
-e
'linux/if_ether'
\
-e
'input-event-codes'
\
-e
'sys/'
\
>
/dev/null
then
...
...
@@ -48,6 +49,7 @@ cp_portable() {
-e
's/__s\([0-9][0-9]*\)/int\1_t/g'
\
-e
's/__le\([0-9][0-9]*\)/uint\1_t/g'
\
-e
's/__be\([0-9][0-9]*\)/uint\1_t/g'
\
-e
's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/'
\
-e
's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/'
\
-e
's/__bitwise__//'
\
-e
's/__attribute__((packed))/QEMU_PACKED/'
\
...
...
@@ -128,6 +130,7 @@ EOF
rm
-rf
"
$output
/include/standard-headers/linux"
mkdir
-p
"
$output
/include/standard-headers/linux"
for
i
in
"
$tmpdir
"
/include/linux/
*
virtio
*
.h
"
$tmpdir
/include/linux/input.h"
\
"
$tmpdir
/include/linux/input-event-codes.h"
\
"
$tmpdir
/include/linux/pci_regs.h"
;
do
cp_portable
"
$i
"
"
$output
/include/standard-headers/linux"
done
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录