[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH hurd] Only use host_get_kernel_version and default_pager_paging_s
From: |
Flavio Cruz |
Subject: |
[PATCH hurd] Only use host_get_kernel_version and default_pager_paging_storage_new in x86_64. |
Date: |
Sun, 7 May 2023 23:39:18 -0400 |
---
hurd/default_pager.defs | 4 ++++
mach-defpager/setup.c | 6 ++++--
proc/host.c | 3 +++
sutils/swapon.c | 3 +++
trans/proxy-defpager.c | 6 ++++--
5 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/hurd/default_pager.defs b/hurd/default_pager.defs
index 3ca34fc4..bb893d0a 100644
--- a/hurd/default_pager.defs
+++ b/hurd/default_pager.defs
@@ -69,6 +69,9 @@ skip; /* default_pager_paging_file */
skip; /* default_pager_register_fileserver */
+#ifdef __x86_64__
+skip; /* default_pager_paging_storage */
+#else
/* Deprecated RPC to add or remove an area of paging storage.
* Was superseded in favor of default_pager_paging_storage_new which
* uses the correct type for default_pager_filename_t using c_string.
@@ -80,6 +83,7 @@ routine default_pager_paging_storage(
array[] of recnum_t;
name : default_pager_filename_t;
add : boolean_t);
+#endif
/* This call is made on a memory object returned by default_pager_object_create
to fix the object's maximum size. Any references to pages beyond the limit
diff --git a/mach-defpager/setup.c b/mach-defpager/setup.c
index 087ede71..51dd6d84 100644
--- a/mach-defpager/setup.c
+++ b/mach-defpager/setup.c
@@ -40,7 +40,7 @@ int page_aligned (vm_offset_t num)
extern mach_port_t default_pager_default_port; /* default_pager.c */
kern_return_t
-S_default_pager_paging_storage (mach_port_t pager,
+S_default_pager_paging_storage_new (mach_port_t pager,
mach_port_t device,
const recnum_t *runs, mach_msg_type_number_t
nrun,
const_default_pager_filename_t name,
@@ -100,8 +100,9 @@ S_default_pager_paging_storage (mach_port_t pager,
return 0;
}
+#ifndef __x86_64__
kern_return_t
-S_default_pager_paging_storage_new (mach_port_t pager,
+S_default_pager_paging_storage (mach_port_t pager,
mach_port_t device,
const recnum_t *runs, mach_msg_type_number_t
nrun,
const_default_pager_filename_t name,
@@ -110,6 +111,7 @@ S_default_pager_paging_storage_new (mach_port_t pager,
return S_default_pager_paging_storage (pager,
device, runs, nrun, name, add);
}
+#endif
/* Called to read a page from backing store. */
int
diff --git a/proc/host.c b/proc/host.c
index e78e70da..bd2462f2 100644
--- a/proc/host.c
+++ b/proc/host.c
@@ -364,11 +364,14 @@ initialize_version_info (void)
server_versions_nalloc = 10;
err = host_get_kernel_version (mach_host_self (), kv);
+#ifndef __x86_64__
+ /* We don't support host_kernel_version for x86_64. */
if (err == MIG_BAD_ID)
{
/* Delete after some time. */
err = host_kernel_version (mach_host_self (), kv);
}
+#endif
assert_backtrace (! err);
/* Make sure the result is null-terminated, as the kernel doesn't
guarantee it. */
diff --git a/sutils/swapon.c b/sutils/swapon.c
index c965d8e2..a85d8a2d 100644
--- a/sutils/swapon.c
+++ b/sutils/swapon.c
@@ -411,11 +411,14 @@ swaponoff (const char *file, int add, int skipnotexisting)
}
err = default_pager_paging_storage_new (def_pager, store->port,
runs, j, file, add);
+#ifndef __x86_64__
+ /* We don't support default_pager_paging_storage for x86_64. */
if (err == MIG_BAD_ID || err == EOPNOTSUPP)
{
err = default_pager_paging_storage (def_pager, store->port,
runs, j, file, add);
}
+#endif
store_free (store);
diff --git a/trans/proxy-defpager.c b/trans/proxy-defpager.c
index 5d952546..e34d272a 100644
--- a/trans/proxy-defpager.c
+++ b/trans/proxy-defpager.c
@@ -100,7 +100,7 @@ S_default_pager_object_pages (mach_port_t default_pager,
}
kern_return_t
-S_default_pager_paging_storage (mach_port_t default_pager,
+S_default_pager_paging_storage_new (mach_port_t default_pager,
mach_port_t device,
const recnum_t *runs, mach_msg_type_number_t
nruns,
const_default_pager_filename_t name,
@@ -112,8 +112,9 @@ S_default_pager_paging_storage (mach_port_t default_pager,
?: mach_port_deallocate (mach_task_self (), device);
}
+#ifndef __x86_64__
kern_return_t
-S_default_pager_paging_storage_new (mach_port_t default_pager,
+S_default_pager_paging_storage (mach_port_t default_pager,
mach_port_t device,
const recnum_t *runs, mach_msg_type_number_t
nruns,
const_default_pager_filename_t name,
@@ -122,6 +123,7 @@ S_default_pager_paging_storage_new (mach_port_t
default_pager,
return S_default_pager_paging_storage (default_pager,
device, runs, nruns, name, add);
}
+#endif
kern_return_t
S_default_pager_object_set_size (mach_port_t memory_object,
--
2.39.2
- [PATCH hurd] Only use host_get_kernel_version and default_pager_paging_storage_new in x86_64.,
Flavio Cruz <=