Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:olh:xen-buildrequires
valgrind
valgrind.xen-4.9-handle-all-versioned-sysctl-op...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File valgrind.xen-4.9-handle-all-versioned-sysctl-ops.patch of Package valgrind
From: Olaf Hering <olaf@aepfle.de> Date: Sun, 25 Nov 2018 01:03:04 +0100 Subject: xen-4.9: handle all versioned sysctl ops When support for a new sysctl version is added, all versioned ops must be adjusted. bz#390553 --- coregrind/m_syswrap/syswrap-xen.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/coregrind/m_syswrap/syswrap-xen.c +++ b/coregrind/m_syswrap/syswrap-xen.c @@ -781,69 +781,73 @@ PRE(sysctl) { case 0x00000008: case 0x00000009: case 0x0000000a: case 0x0000000b: PRE_XEN_SYSCTL_READ(topologyinfo, max_cpu_index); PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_core); PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_socket); PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_node); break; case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: PRE_XEN_SYSCTL_READ(cputopoinfo_0000000c, num_cpus); PRE_XEN_SYSCTL_READ(cputopoinfo_0000000c, cputopo); break; } break; case VKI_XEN_SYSCTL_numainfo: switch (sysctl->interface_version) { case 0x00000008: case 0x00000009: case 0x0000000a: case 0x0000000b: PRE_XEN_SYSCTL_READ(numainfo_00000008, max_node_index); PRE_XEN_SYSCTL_READ(numainfo_00000008, node_to_memsize); PRE_XEN_SYSCTL_READ(numainfo_00000008, node_to_memfree); PRE_XEN_SYSCTL_READ(numainfo_00000008, node_to_node_distance); break; case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: PRE_XEN_SYSCTL_READ(numainfo_0000000c, num_nodes); PRE_XEN_SYSCTL_READ(numainfo_0000000c, meminfo); PRE_XEN_SYSCTL_READ(numainfo_0000000c, distance); break; } break; case VKI_XEN_SYSCTL_pcitopoinfo: switch (sysctl->interface_version) { case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: PRE_XEN_SYSCTL_READ(pcitopoinfo_0000000c, num_devs); PRE_XEN_SYSCTL_READ(pcitopoinfo_0000000c, devs); break; } break; case VKI_XEN_SYSCTL_get_cpu_featureset: switch (sysctl->interface_version) { case 0x0000000d: case 0x0000000e: + case 0x0000000f: PRE_XEN_SYSCTL_READ(cpu_featureset_0000000d, index); PRE_XEN_SYSCTL_READ(cpu_featureset_0000000d, nr_features); break; } break; default: bad_subop(tid, layout, arrghs, status, flags, "__HYPERVISOR_sysctl", sysctl->cmd); break; } #undef PRE_XEN_SYSCTL_READ @@ -2238,24 +2242,25 @@ POST(sysctl) POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_core.p, sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index); if (sysctl->u.topologyinfo.cpu_to_socket.p) POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_socket.p, sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index); if (sysctl->u.topologyinfo.cpu_to_node.p) POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_node.p, sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index); break; case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: POST_XEN_SYSCTL_WRITE(cputopoinfo_0000000c, num_cpus); if (sysctl->u.cputopoinfo_0000000c.cputopo.p) POST_MEM_WRITE((Addr)sysctl->u.cputopoinfo_0000000c.cputopo.p, sizeof(vki_xen_sysctl_cputopo_0000000c_t) * sysctl->u.cputopoinfo_0000000c.num_cpus); break; } break; case VKI_XEN_SYSCTL_numainfo: switch (sysctl->interface_version) { case 0x00000008: @@ -2265,52 +2270,55 @@ POST(sysctl) POST_XEN_SYSCTL_WRITE(numainfo_00000008, max_node_index); POST_MEM_WRITE((Addr)sysctl->u.numainfo_00000008.node_to_memsize.p, sizeof(uint64_t) * sysctl->u.numainfo_00000008.max_node_index); POST_MEM_WRITE((Addr)sysctl->u.numainfo_00000008.node_to_memfree.p, sizeof(uint64_t) * sysctl->u.numainfo_00000008.max_node_index); POST_MEM_WRITE((Addr)sysctl->u.numainfo_00000008.node_to_node_distance.p, sizeof(uint32_t) * (sysctl->u.numainfo_00000008.max_node_index * sysctl->u.numainfo_00000008.max_node_index)); break; case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: POST_XEN_SYSCTL_WRITE(numainfo_0000000c, num_nodes); POST_MEM_WRITE((Addr)sysctl->u.numainfo_0000000c.meminfo.p, sizeof(uint64_t) * sysctl->u.numainfo_0000000c.num_nodes); POST_MEM_WRITE((Addr)sysctl->u.numainfo_0000000c.distance.p, sizeof(uint32_t) * (sysctl->u.numainfo_0000000c.num_nodes * sysctl->u.numainfo_0000000c.num_nodes)); break; } break; case VKI_XEN_SYSCTL_pcitopoinfo: switch (sysctl->interface_version) { case 0x0000000c: case 0x0000000d: case 0x0000000e: + case 0x0000000f: POST_XEN_SYSCTL_WRITE(pcitopoinfo_0000000c, num_devs); POST_MEM_WRITE((Addr)sysctl->u.pcitopoinfo_0000000c.nodes.p, sizeof(uint32_t) * sysctl->u.pcitopoinfo_0000000c.num_devs); break; } break; case VKI_XEN_SYSCTL_get_cpu_featureset: switch (sysctl->interface_version) { case 0x0000000d: case 0x0000000e: + case 0x0000000f: POST_XEN_SYSCTL_WRITE(cpu_featureset_0000000d, nr_features); POST_MEM_WRITE((Addr)sysctl->u.cpu_featureset_0000000d.features.p, sizeof(uint32_t) * sysctl->u.cpu_featureset_0000000d.nr_features); break; } break; /* No outputs */ case VKI_XEN_SYSCTL_debug_keys: break; } #undef POST_XEN_SYSCTL_WRITE
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor