[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH gnumach] Define rpc_vm_size_array_t and rpc_vm_offset_array_t
From: |
Sergey Bugaev |
Subject: |
Re: [PATCH gnumach] Define rpc_vm_size_array_t and rpc_vm_offset_array_t |
Date: |
Tue, 31 Jan 2023 12:06:01 +0300 |
On Tue, Jan 31, 2023 at 9:08 AM Flavio Cruz <flaviocruz@gmail.com> wrote:
>
> When generating stubs, Mig will will take the vm_size_array_t and define the
> input request struct using rpc_vm_size_t since the size is variable. This
> will turn cause a mismatch
> between types (vm_size_t* vs rpc_vm_size_t*). We could also ask Mig to produce
> a prototype by using rpc_vm_size_t*, however we would need to change the
> implementation
> of the RPC to use rpc_* types anyway since we want to avoid another allocation
> of the array.
For someone as uninitiated as myself, could you please explain the
deal with these rpc_* types? (Or point me to some docs, if they
exist...)
I understand they are related to the x64 bringup, and possibly to
running 32-bit userland on a 64-bit kernel (or to support for 32-bit
tasks communicating with 64-bit tasks?). But how are they different to
plain vm_size_t etc, and when am I supposed to use one vs the other?
Does this only concern kernel land (i.e. GNU Mach) or the userland
too?
Thanks,
Sergey