Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
67345294
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看板
体验新版 GitCode,发现更多精彩内容 >>
You need to sign in or sign up before continuing.
提交
67345294
编写于
7月 19, 2011
作者:
A
Anthony Liguori
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'mst/for_anthony' into staging
上级
81773a50
c8eac1cf
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
21 addition
and
9 deletion
+21
-9
hw/pci_ids.h
hw/pci_ids.h
+2
-1
hw/piix_pci.c
hw/piix_pci.c
+3
-0
hw/vhost.c
hw/vhost.c
+1
-0
hw/virtio.c
hw/virtio.c
+8
-0
hw/xen_platform.c
hw/xen_platform.c
+7
-8
未找到文件。
hw/pci_ids.h
浏览文件 @
67345294
...
@@ -110,4 +110,5 @@
...
@@ -110,4 +110,5 @@
#define PCI_DEVICE_ID_INTEL_82371AB_2 0x7112
#define PCI_DEVICE_ID_INTEL_82371AB_2 0x7112
#define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113
#define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113
#define PCI_VENDOR_ID_XENSOURCE 0x5853
#define PCI_VENDOR_ID_XEN 0x5853
#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001
hw/piix_pci.c
浏览文件 @
67345294
...
@@ -478,6 +478,9 @@ static PCIDeviceInfo i440fx_info[] = {
...
@@ -478,6 +478,9 @@ static PCIDeviceInfo i440fx_info[] = {
.
no_hotplug
=
1
,
.
no_hotplug
=
1
,
.
init
=
piix3_initfn
,
.
init
=
piix3_initfn
,
.
config_write
=
piix3_write_config_xen
,
.
config_write
=
piix3_write_config_xen
,
.
vendor_id
=
PCI_VENDOR_ID_INTEL
,
.
device_id
=
PCI_DEVICE_ID_INTEL_82371SB_0
,
// 82371SB PIIX3 PCI-to-ISA bridge (Step A1)
.
class_id
=
PCI_CLASS_BRIDGE_ISA
,
},{
},{
/* end of list */
/* end of list */
}
}
...
...
hw/vhost.c
浏览文件 @
67345294
...
@@ -784,5 +784,6 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev)
...
@@ -784,5 +784,6 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev)
hdev
->
started
=
false
;
hdev
->
started
=
false
;
qemu_free
(
hdev
->
log
);
qemu_free
(
hdev
->
log
);
hdev
->
log
=
NULL
;
hdev
->
log_size
=
0
;
hdev
->
log_size
=
0
;
}
}
hw/virtio.c
浏览文件 @
67345294
...
@@ -449,9 +449,17 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
...
@@ -449,9 +449,17 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
struct
iovec
*
sg
;
struct
iovec
*
sg
;
if
(
vring_desc_flags
(
desc_pa
,
i
)
&
VRING_DESC_F_WRITE
)
{
if
(
vring_desc_flags
(
desc_pa
,
i
)
&
VRING_DESC_F_WRITE
)
{
if
(
elem
->
in_num
>=
ARRAY_SIZE
(
elem
->
in_sg
))
{
error_report
(
"Too many write descriptors in indirect table"
);
exit
(
1
);
}
elem
->
in_addr
[
elem
->
in_num
]
=
vring_desc_addr
(
desc_pa
,
i
);
elem
->
in_addr
[
elem
->
in_num
]
=
vring_desc_addr
(
desc_pa
,
i
);
sg
=
&
elem
->
in_sg
[
elem
->
in_num
++
];
sg
=
&
elem
->
in_sg
[
elem
->
in_num
++
];
}
else
{
}
else
{
if
(
elem
->
out_num
>=
ARRAY_SIZE
(
elem
->
out_sg
))
{
error_report
(
"Too many read descriptors in indirect table"
);
exit
(
1
);
}
elem
->
out_addr
[
elem
->
out_num
]
=
vring_desc_addr
(
desc_pa
,
i
);
elem
->
out_addr
[
elem
->
out_num
]
=
vring_desc_addr
(
desc_pa
,
i
);
sg
=
&
elem
->
out_sg
[
elem
->
out_num
++
];
sg
=
&
elem
->
out_sg
[
elem
->
out_num
++
];
}
}
...
...
hw/xen_platform.c
浏览文件 @
67345294
...
@@ -290,18 +290,10 @@ static int xen_platform_initfn(PCIDevice *dev)
...
@@ -290,18 +290,10 @@ static int xen_platform_initfn(PCIDevice *dev)
pci_conf
=
d
->
pci_dev
.
config
;
pci_conf
=
d
->
pci_dev
.
config
;
pci_config_set_vendor_id
(
pci_conf
,
PCI_VENDOR_ID_XENSOURCE
);
pci_config_set_device_id
(
pci_conf
,
0x0001
);
pci_set_word
(
pci_conf
+
PCI_SUBSYSTEM_VENDOR_ID
,
PCI_VENDOR_ID_XENSOURCE
);
pci_set_word
(
pci_conf
+
PCI_SUBSYSTEM_ID
,
0x0001
);
pci_set_word
(
pci_conf
+
PCI_COMMAND
,
PCI_COMMAND_IO
|
PCI_COMMAND_MEMORY
);
pci_set_word
(
pci_conf
+
PCI_COMMAND
,
PCI_COMMAND_IO
|
PCI_COMMAND_MEMORY
);
pci_config_set_revision
(
pci_conf
,
1
);
pci_config_set_prog_interface
(
pci_conf
,
0
);
pci_config_set_prog_interface
(
pci_conf
,
0
);
pci_config_set_class
(
pci_conf
,
PCI_CLASS_OTHERS
<<
8
|
0x80
);
pci_conf
[
PCI_INTERRUPT_PIN
]
=
1
;
pci_conf
[
PCI_INTERRUPT_PIN
]
=
1
;
pci_register_bar
(
&
d
->
pci_dev
,
0
,
0x100
,
pci_register_bar
(
&
d
->
pci_dev
,
0
,
0x100
,
...
@@ -330,6 +322,13 @@ static PCIDeviceInfo xen_platform_info = {
...
@@ -330,6 +322,13 @@ static PCIDeviceInfo xen_platform_info = {
.
qdev
.
size
=
sizeof
(
PCIXenPlatformState
),
.
qdev
.
size
=
sizeof
(
PCIXenPlatformState
),
.
qdev
.
vmsd
=
&
vmstate_xen_platform
,
.
qdev
.
vmsd
=
&
vmstate_xen_platform
,
.
qdev
.
reset
=
platform_reset
,
.
qdev
.
reset
=
platform_reset
,
.
vendor_id
=
PCI_VENDOR_ID_XEN
,
.
device_id
=
PCI_DEVICE_ID_XEN_PLATFORM
,
.
class_id
=
PCI_CLASS_OTHERS
<<
8
|
0x80
,
.
subsystem_vendor_id
=
PCI_VENDOR_ID_XEN
,
.
subsystem_id
=
PCI_DEVICE_ID_XEN_PLATFORM
,
.
revision
=
1
,
};
};
static
void
xen_platform_register
(
void
)
static
void
xen_platform_register
(
void
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录