|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] Revert "x86: generalize padding field handling"
commit e52716154da04967f9b9d7cf9a1655ea4bcd9e93
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Sep 7 10:34:03 2020 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Sep 7 10:34:03 2020 +0200
Revert "x86: generalize padding field handling"
This reverts commit 696c273f3d9a169911308fb7e0a702a3eb6a150d.
I was based on the flase assumption that padding fields need no
copying: If native code checks such fields, they of course need
copying in. And if the ABI specifies them to be zero on
completion, we also need to copy them out.
---
xen/common/compat/memory.c | 3 ---
xen/tools/get-fields.sh | 8 ++++----
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/xen/common/compat/memory.c b/xen/common/compat/memory.c
index 215b8f52d6..3851f756c7 100644
--- a/xen/common/compat/memory.c
+++ b/xen/common/compat/memory.c
@@ -354,13 +354,10 @@ int compat_memory_op(unsigned int cmd,
XEN_GUEST_HANDLE_PARAM(void) compat)
return -EFAULT;
#define XLAT_vnuma_topology_info_HNDL_vdistance_h(_d_, _s_) \
- case XLAT_vnuma_topology_info_vdistance_pad: \
guest_from_compat_handle((_d_)->vdistance.h, (_s_)->vdistance.h)
#define XLAT_vnuma_topology_info_HNDL_vcpu_to_vnode_h(_d_, _s_)
\
- case XLAT_vnuma_topology_info_vcpu_to_vnode_pad: \
guest_from_compat_handle((_d_)->vcpu_to_vnode.h,
(_s_)->vcpu_to_vnode.h)
#define XLAT_vnuma_topology_info_HNDL_vmemrange_h(_d_, _s_) \
- case XLAT_vnuma_topology_info_vmemrange_pad: \
guest_from_compat_handle((_d_)->vmemrange.h, (_s_)->vmemrange.h)
XLAT_vnuma_topology_info(nat.vnuma, &cmp.vnuma);
diff --git a/xen/tools/get-fields.sh b/xen/tools/get-fields.sh
index 753e37eb2e..002db2093f 100644
--- a/xen/tools/get-fields.sh
+++ b/xen/tools/get-fields.sh
@@ -218,7 +218,7 @@ for line in sys.stdin.readlines():
fi
;;
[\,\;])
- if [ $level = 2 -a -n "$(echo $id | $SED
's,_\?pad[[:digit:]]*,,')" ]
+ if [ $level = 2 -a -n "$(echo $id | $SED
's,^_pad[[:digit:]]*,,')" ]
then
if [ $kind = union ]
then
@@ -347,7 +347,7 @@ build_body ()
fi
;;
[\,\;])
- if [ $level = 2 -a -n "$(echo $id | $SED
's,_\?pad[[:digit:]]*,,')" ]
+ if [ $level = 2 -a -n "$(echo $id | $SED
's,^_pad[[:digit:]]*,,')" ]
then
if [ -z "$array" -a -z "$array_type" ]
then
@@ -437,7 +437,7 @@ check_field ()
id=$token
;;
[\,\;])
- if [ $level = 2 -a -n "$(echo $id | $SED
's,_\?pad[[:digit:]]*,,')" ]
+ if [ $level = 2 -a -n "$(echo $id | $SED
's,^_pad[[:digit:]]*,,')" ]
then
check_field $1 $2 $3.$id "$fields"
test "$token" != ";" || fields= id=
@@ -491,7 +491,7 @@ build_check ()
test $level != 2 -o $arrlvl != 1 || id=$token
;;
[\,\;])
- if [ $level = 2 -a -n "$(echo $id | $SED
's,_\?pad[[:digit:]]*,,')" ]
+ if [ $level = 2 -a -n "$(echo $id | $SED
's,^_pad[[:digit:]]*,,')" ]
then
check_field $kind $1 $id "$fields"
test "$token" != ";" || fields= id=
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |