bug-hurd
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]