On 02/07/2017 11:55, John Baldwin wrote:
> On Tuesday, February 07, 2017 12:55:08 PM Edward Tomasz Napierala wrote:
>> On 0207T1039, Konstantin Belousov wrote:
>>> On Mon, Feb 06, 2017 at 03:03:11PM -0800, John Baldwin wrote:
>>>> On Monday, February 06, 2017 08:57:12 PM Edward Tomasz Napierala wrote:
>>>>> Author: trasz
>>>>> Date: Mon Feb  6 20:57:12 2017
>>>>> New Revision: 313352
>>>>> URL: https://svnweb.freebsd.org/changeset/base/313352
>>>>>
>>>>> Log:
>>>>>   Add kern_vm_mmap2(), kern_vm_mprotect(), kern_vm_msync(), 
>>>>> kern_vm_munlock(),
>>>>>   kern_vm_munmap(), and kern_vm_madvise(), and use them in various compats
>>>>>   instead of their sys_*() counterparts.
>>>>>   
>>>>>   Reviewed by:    ed, dchagin, kib
>>>>>   MFC after:      2 weeks
>>>>>   Sponsored by:   DARPA, AFRL
>>>>>   Differential Revision:  https://reviews.freebsd.org/D9378
>>>> I know kib@ suggested kern_vm_<foo> instead of the vm_<foo> you had 
>>>> suggested,
>>>> but just kern_<foo> would be more consistent.  That is what we have done 
>>>> with
>>>> every other system call.  (e.g. there isn't kern_socket_bind, 
>>>> kern_socket_listen,
>>>> etc., but just kern_bind() and kern_listen()).
>>> Note that the kern_vm_* functions are not quite regular syscall helpers.
>>> The big issue with them, which caused my suggestion, is that the
>>> functions cannot be declared in sys/syscallsubr.h, because their
>>> declarations depend on the vm/*.h namespace.
>> Exactly; they use vm-specific types (vm_offset_t, for example).  And I
>> wanted to avoid changing the types all over the place, at least for now.
> You would only need <vm/vm.h> though right?  None of the actual objects
> are used, just things like vm_prot_t?
>
> OTOH, kern_* is currently only used for things that are syscall 
> implementations
> and generally take syscall arguments directly (or close approximations of
> syscall arguments).  It is annoying to lose the consistency in meaning.
>

I tend to agree with John.  Why not use the same types for the kern_*
parameters as are used in the corresponding args structure?  Let the
conversion to the Mach VM types happen inside of the function's
implementation.


_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to