On Tue, Jan 31, 2023 at 9:08 AM Flavio Cruz <flavioc...@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