[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] kernel/syscall: neue Funktion für das Registrieren von Kernel-Syscalls



Am 19.02.2021 um 18:41 hat Nico Mayer geschrieben:
> * Aktuell gibt es lediglich einen Kernel-Syscall(KERN_SYSCALL_PM_SLEEP).
> Dieser Syscall wurde bisher manuell in die globale Syscall-Liste
> eingetragen. Um das Registrieren von Kernel-Syscalls zu vereinfachen,
> implementiert dieser Commit die Funktion syscall_register_full().

S-o-b fehlt auch hier.

Die Beschreibung sollte gleichmäßig eingerückt sein, also:

* Aktuell...
  Dieser...
  eingetragen...

Wenn du 'git format-patch' nimmst, kannst du -v benutzen, um die Version
des Patchs anzugeben. Dann haben nicht alle Mails denselben Betreff,
sondern man sieht mit [PATCH v3] klar, in welcher Reihenfolge die
Patchversionen gekommen sind (und worauf sich die Antworten beziehen,
wenn man keine Threads im Mailclient hat).

>  src/kernel/include/syscall.h |  3 +++
>  src/kernel/src/syscall.c     | 24 ++++++++++++++++++------
>  2 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/src/kernel/include/syscall.h b/src/kernel/include/syscall.h
> index ad941e85..cd74ac4f 100644
> --- a/src/kernel/include/syscall.h
> +++ b/src/kernel/include/syscall.h
> @@ -70,6 +70,9 @@ void syscall_arch(machine_state_t* isf);
>  /// Einen neuen Syscall verfuegbar machen
>  void syscall_register(syscall_arg_t number, void* handler, size_t arg_count);
>  
> +/// Einen neuen Syscall verfuegbar machen
> +void syscall_register_full(syscall_arg_t number, void* handler, size_t arg_count, bool privileged);

Die Zeile ist länger als 80 Zeichen. Mach es so:

void syscall_register_full(syscall_arg_t number, void* handler,
                           size_t arg_count, bool privileged);

Oder alternativ die zweite Zeile nur um vier Zeichen aingerückt statt
bis zum Inhalt der Klammer, aber das bringt hier nichts.

>  /// Syscalls initialisieren
>  void syscall_init(void);
>  
> diff --git a/src/kernel/src/syscall.c b/src/kernel/src/syscall.c
> index f74dbebe..68fb4ff2 100644
> --- a/src/kernel/src/syscall.c
> +++ b/src/kernel/src/syscall.c
> @@ -151,11 +151,7 @@ void syscall_init()
>      syscall_register(SYSCALL_LIO_SRV_OP_DONE, &syscall_lio_srv_op_done, 3);
>      syscall_register(SYSCALL_LIO_SRV_WAIT, &syscall_lio_srv_wait, 0);
>  
> -    syscalls[KERN_SYSCALL_PM_SLEEP] = (syscall_t) {
> -        .handler    = &kern_syscall_pm_sleep,
> -        .arg_count  = 2,
> -        .privileged = true,
> -    };
> +    syscall_register_full(KERN_SYSCALL_PM_SLEEP, &kern_syscall_pm_sleep, 2, true);

Diese Zeile ist auch zu lang.

Kevin