[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v4 3/8] xen/linux_compat: Add a Linux compat header
On Mon, Dec 18, 2017 at 08:16:58PM -0700, Sameer Goel wrote: > For porting files directly from Linux it is useful to have a function mapping > definitions from Linux to Xen. This file adds common API functions and > other defines that are needed for porting arm SMMU drivers. > > Signed-off-by: Sameer Goel <sameer.goel@xxxxxxxxxx> > --- > xen/include/xen/linux_compat.h | 81 > ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > create mode 100644 xen/include/xen/linux_compat.h > > diff --git a/xen/include/xen/linux_compat.h b/xen/include/xen/linux_compat.h > new file mode 100644 > index 0000000000..174d0390e5 > --- /dev/null > +++ b/xen/include/xen/linux_compat.h > @@ -0,0 +1,81 @@ > +/****************************************************************************** > + * include/xen/linux_compat.h > + * > + * Compatibility defines for porting code from Linux to Xen > + * > + * Copyright (c) 2017 Linaro Limited > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __XEN_LINUX_COMPAT_H__ > +#define __XEN_LINUX_COMPAT_H__ > + > +#include <asm/types.h> > + > +typedef paddr_t phys_addr_t; > +typedef paddr_t dma_addr_t; > + > +typedef unsigned int gfp_t; > +#define GFP_KERNEL 0 > +#define __GFP_ZERO 0 You might want to think carefully about this one. I haven't checked if Xen supports such flag, but it is probably a bad idea to fool the driver that it gets a zeroed allocation. > + > +/* Alias to Xen device tree helpers */ > +#define device_node dt_device_node > +#define of_phandle_args dt_phandle_args > +#define of_device_id dt_device_match > +#define of_match_node dt_match_node > +#define of_property_read_u32(np, pname, out) (!dt_property_read_u32(np, > pname, out)) > +#define of_property_read_bool dt_property_read_bool > +#define of_parse_phandle_with_args dt_parse_phandle_with_args > + > +/* Helpers for IRQ functions */ > +#define free_irq release_irq > + > +enum irqreturn { > + IRQ_NONE = (0 << 0), > + IRQ_HANDLED = (1 << 0), > + IRQ_WAKE_THREAD = (2 << 0), Use 1U 2U please. > +}; > + > +typedef enum irqreturn irqreturn_t; > + > +/* Device logger functions */ > +#define dev_print(dev, lvl, fmt, ...) \ > + printk(lvl fmt, ## __VA_ARGS__) > + > +#define dev_dbg(dev, fmt, ...) dev_print(dev, XENLOG_DEBUG, fmt, ## > __VA_ARGS__) > +#define dev_notice(dev, fmt, ...) dev_print(dev, XENLOG_INFO, fmt, ## > __VA_ARGS__) > +#define dev_warn(dev, fmt, ...) dev_print(dev, XENLOG_WARNING, fmt, ## > __VA_ARGS__) > +#define dev_err(dev, fmt, ...) dev_print(dev, XENLOG_ERR, fmt, ## > __VA_ARGS__) > +#define dev_info(dev, fmt, ...) dev_print(dev, XENLOG_INFO, fmt, ## > __VA_ARGS__) > + > +#define dev_err_ratelimited(dev, fmt, ...) \ > + dev_print(dev, XENLOG_ERR, fmt, ## __VA_ARGS__) > + These are going to clash with the ones in drivers/passthrough/arm/smmu.c. Wei. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |