[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] [xen] Fix compiler warnings
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] [xen] Fix compiler warnings |
Date: |
Sat, 28 Jan 2023 08:32:33 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Flavio Cruz, le sam. 28 janv. 2023 01:02:25 -0500, a ecrit:
> * i386/xen/xen.c: Move failsafe_callback_regs to header file and include
> xen/xen.h
> * xen/block.c: `name` must be const. Fix format string.
> * xen/console.c: Move hyp_console_write and inline it in the header.
> Use static qualifier whenever possible. Cast to interrupt_handler_fn.
> * xen/console.h: Define hyp_console_write as inline function.
> * xen/evt.c: Avoid old style declaration and use interrupt_handler_fn.
> * xen/evt.h: Use interrupt_handler_fn.
> * xen/net.c: Use static. Use correct format and make `name` const.
> * xen/time.c: Avoid old style declarations by adding void to the
> parameter list.
> * xen/xen.c: Use static. Use interrupt_handler_fn. Delete `_hyp_halt`
> and `_hyp_todo`.
> * xen/xen.h: Define hyp_failsafe_c_callback here to make sure we have
> the prototype.
> ---
> i386/xen/xen.c | 13 ++-----------
> xen/block.c | 4 ++--
> xen/console.c | 14 ++++----------
> xen/console.h | 5 ++++-
> xen/evt.c | 4 ++--
> xen/evt.h | 2 +-
> xen/net.c | 6 +++---
> xen/time.c | 6 +++---
> xen/xen.c | 15 ++-------------
> xen/xen.h | 12 ++++++++++++
> 10 files changed, 35 insertions(+), 46 deletions(-)
>
> diff --git a/i386/xen/xen.c b/i386/xen/xen.c
> index f2dedfb9..5309675f 100644
> --- a/i386/xen/xen.c
> +++ b/i386/xen/xen.c
> @@ -23,20 +23,11 @@
> #include <mach/machine/eflags.h>
> #include <machine/thread.h>
> #include <machine/ipl.h>
> -
> #include <machine/model_dep.h>
>
> -unsigned long cr3;
> +#include <xen/xen.h>
>
> -struct failsafe_callback_regs {
> - unsigned int ds;
> - unsigned int es;
> - unsigned int fs;
> - unsigned int gs;
> - unsigned int ip;
> - unsigned int cs_and_mask;
> - unsigned int flags;
> -};
> +unsigned long cr3;
>
> void hyp_failsafe_c_callback(struct failsafe_callback_regs *regs) {
> printf("Fail-Safe callback!\n");
> diff --git a/xen/block.c b/xen/block.c
> index 84fe4449..7e9db26f 100644
> --- a/xen/block.c
> +++ b/xen/block.c
> @@ -349,7 +349,7 @@ device_close(void *devp)
>
> static io_return_t
> device_open (ipc_port_t reply_port, mach_msg_type_name_t reply_port_type,
> - dev_mode_t mode, char *name, device_t *devp /* out */)
> + dev_mode_t mode, const char *name, device_t *devp /* out */)
> {
> int i;
> ipc_port_t port, notify;
> @@ -666,7 +666,7 @@ device_write(void *d, ipc_port_t reply_port,
> hyp_grant_takeback(gref[j]);
>
> if (err) {
> - printf("error writing %u bytes at sector %d\n", count, bn);
> + printf("error writing %u bytes at sector %ld\n", count, bn);
> break;
> }
> }
> diff --git a/xen/console.c b/xen/console.c
> index 4907903e..0bf2f712 100644
> --- a/xen/console.c
> +++ b/xen/console.c
> @@ -35,13 +35,7 @@ static struct xencons_interface *console;
> static int kd_pollc;
> int kb_mode; /* XXX: actually don't care. */
>
> -#undef hyp_console_write
> -void hyp_console_write(const char *str, int len)
> -{
> - hyp_console_io (CONSOLEIO_write, len, kvtolin(str));
> -}
> -
> -int hypputc(int c)
> +static int hypputc(int c)
> {
> if (!console) {
> char d = c;
> @@ -142,7 +136,7 @@ int hypcnwrite(dev_t dev, io_req_t ior)
> return char_write(&hypcn_tty, ior);
> }
>
> -void hypcnstart(struct tty *tp)
> +static void hypcnstart(struct tty *tp)
> {
> spl_t o_pri;
> int ch;
> @@ -166,7 +160,7 @@ void hypcnstart(struct tty *tp)
> }
> }
>
> -void hypcnstop()
> +static void hypcnstop(struct tty *t, int n)
> {
> }
>
> @@ -235,6 +229,6 @@ int hypcninit(struct consdev *cp)
> #ifdef MACH_PV_PAGETABLES
> pmap_set_page_readwrite(console);
> #endif /* MACH_PV_PAGETABLES */
> - hyp_evt_handler(boot_info.console_evtchn, hypcnintr, 0, SPL6);
> + hyp_evt_handler(boot_info.console_evtchn,
> (interrupt_handler_fn)hypcnintr, 0, SPL6);
> return 0;
> }
> diff --git a/xen/console.h b/xen/console.h
> index 527f5fbd..4a3c541d 100644
> --- a/xen/console.h
> +++ b/xen/console.h
> @@ -25,7 +25,10 @@
> #include <device/cons.h>
> #include <device/io_req.h>
>
> -#define hyp_console_write(str, len) hyp_console_io (CONSOLEIO_write, (len),
> kvtolin(str))
> +static inline void hyp_console_write(const char *str, int len)
> +{
> + hyp_console_io (CONSOLEIO_write, len, kvtolin(str));
> +}
>
> #define hyp_console_put(str) ({ \
> const char *__str = (void*) (str); \
> diff --git a/xen/evt.c b/xen/evt.c
> index 0ff5c694..cec78c0d 100644
> --- a/xen/evt.c
> +++ b/xen/evt.c
> @@ -91,7 +91,7 @@ void form_int_mask(void)
> extern void hyp_callback(void);
> extern void hyp_failsafe_callback(void);
>
> -void hyp_intrinit() {
> +void hyp_intrinit(void) {
> form_int_mask();
> curr_ipl = SPLHI;
> hyp_shared_info.evtchn_mask[0] = int_mask[SPLHI];
> @@ -104,7 +104,7 @@ void hyp_intrinit() {
> #endif
> }
>
> -void hyp_evt_handler(evtchn_port_t port, void (*handler)(), int unit, spl_t
> spl) {
> +void hyp_evt_handler(evtchn_port_t port, interrupt_handler_fn handler, int
> unit, spl_t spl) {
> if (port > NEVNT)
> panic("event channel port %d > %d not supported\n", port, (int)
> NEVNT);
> intpri[port] = spl;
> diff --git a/xen/evt.h b/xen/evt.h
> index e4dbad1b..a73733e0 100644
> --- a/xen/evt.h
> +++ b/xen/evt.h
> @@ -23,7 +23,7 @@
>
> void hyp_intrinit(void);
> void form_int_mask(void);
> -void hyp_evt_handler(evtchn_port_t port, void (*handler)(), int unit, spl_t
> spl);
> +void hyp_evt_handler(evtchn_port_t port, interrupt_handler_fn handler, int
> unit, spl_t spl);
> void hyp_c_callback(void *ret_addr, void *regs);
>
> #endif /* XEN_EVT_H */
> diff --git a/xen/net.c b/xen/net.c
> index bec61661..b72844d5 100644
> --- a/xen/net.c
> +++ b/xen/net.c
> @@ -76,7 +76,7 @@ static struct net_data *vif_data;
>
> struct device_emulation_ops hyp_net_emulation_ops;
>
> -int hextoi(char *cp, int *nump)
> +static int hextoi(char *cp, int *nump)
> {
> int number;
> char *original;
> @@ -477,7 +477,7 @@ void hyp_net_init(void) {
> nd->rx_buf_pfn[i] = atop(addr);
> if (!nd->rx_copy) {
> if
> (hyp_do_update_va_mapping(kvtolin(nd->rx_buf[i]), 0, UVMF_INVLPG|UVMF_ALL))
> - panic("eth: couldn't clear rx kv buf %d
> at %lx", i, addr);
> + panic("eth: couldn't clear rx kv buf %d
> at %llx", i, addr);
> }
> /* and enqueue it to backend. */
> enqueue_rx_buf(nd, i);
> @@ -536,7 +536,7 @@ device_close(void *devp)
>
> static io_return_t
> device_open (ipc_port_t reply_port, mach_msg_type_name_t reply_port_type,
> - dev_mode_t mode, char *name, device_t *devp /* out */)
> + dev_mode_t mode, const char *name, device_t *devp /* out */)
> {
> int i, n;
> ipc_port_t port, notify;
> diff --git a/xen/time.c b/xen/time.c
> index e8abd56b..21791a59 100644
> --- a/xen/time.c
> +++ b/xen/time.c
> @@ -123,17 +123,17 @@ readtodc(uint64_t *tp)
> }
>
> int
> -writetodc()
> +writetodc(void)
> {
> /* Not allowed in Xen */
> return(-1);
> }
>
> void
> -clkstart()
> +clkstart(void)
> {
> evtchn_port_t port = hyp_event_channel_bind_virq(VIRQ_TIMER, 0);
> - hyp_evt_handler(port, hypclock_intr, 0, SPLHI);
> + hyp_evt_handler(port, (interrupt_handler_fn)hypclock_intr, 0, SPLHI);
>
> /* first clock tick */
> clock_interrupt(0, 0, 0, 0);
> diff --git a/xen/xen.c b/xen/xen.c
> index 28953512..6d424474 100644
> --- a/xen/xen.c
> +++ b/xen/xen.c
> @@ -30,7 +30,7 @@
> #include "xen.h"
> #include "evt.h"
>
> -void hyp_debug()
> +static void hyp_debug(void)
> {
> panic("debug");
> }
> @@ -40,7 +40,7 @@ void hyp_init(void)
> hyp_grant_init();
> hyp_store_init();
> evtchn_port_t port = hyp_event_channel_bind_virq(VIRQ_DEBUG, 0);
> - hyp_evt_handler(port, hyp_debug, 0, SPL7);
> + hyp_evt_handler(port, (interrupt_handler_fn)hyp_debug, 0, SPL7);
> }
>
> void hyp_dev_init(void)
> @@ -50,17 +50,6 @@ void hyp_dev_init(void)
> hyp_net_init();
> }
>
> -void _hyp_halt(void)
> -{
> - hyp_halt();
> -}
> -
> -void _hyp_todo(unsigned long from)
> -{
> - printf("TODO: at %lx\n",from);
> - hyp_halt();
> -}
> -
> extern int int_mask[];
> void hyp_idle(void)
> {
> diff --git a/xen/xen.h b/xen/xen.h
> index cbb793e2..3fd4028a 100644
> --- a/xen/xen.h
> +++ b/xen/xen.h
> @@ -26,4 +26,16 @@ void hyp_p2m_init(void);
>
> void hypclock_machine_intr(int old_ipl, void *ret_addr, struct
> i386_interrupt_state *regs, uint64_t delta);
>
> +struct failsafe_callback_regs {
> + unsigned int ds;
> + unsigned int es;
> + unsigned int fs;
> + unsigned int gs;
> + unsigned int ip;
> + unsigned int cs_and_mask;
> + unsigned int flags;
> +};
> +
> +void hyp_failsafe_c_callback(struct failsafe_callback_regs *regs);
> +
> #endif /* XEN_XEN_H */
> --
> 2.39.0
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.