|
@@ -20,6 +20,7 @@ struct scatterlist;
|
|
|
struct page;
|
|
|
struct mm_struct;
|
|
|
struct pci_bus;
|
|
|
+struct task_struct;
|
|
|
|
|
|
typedef void ia64_mv_setup_t (char **);
|
|
|
typedef void ia64_mv_cpu_init_t (void);
|
|
@@ -34,6 +35,7 @@ typedef int ia64_mv_pci_legacy_read_t (struct pci_bus *, u16 port, u32 *val,
|
|
|
u8 size);
|
|
|
typedef int ia64_mv_pci_legacy_write_t (struct pci_bus *, u16 port, u32 val,
|
|
|
u8 size);
|
|
|
+typedef void ia64_mv_migrate_t(struct task_struct * task);
|
|
|
|
|
|
/* DMA-mapping interface: */
|
|
|
typedef void ia64_mv_dma_init (void);
|
|
@@ -85,6 +87,11 @@ machvec_noop_mm (struct mm_struct *mm)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
+static inline void
|
|
|
+machvec_noop_task (struct task_struct *task)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
extern void machvec_setup (char **);
|
|
|
extern void machvec_timer_interrupt (int, void *, struct pt_regs *);
|
|
|
extern void machvec_dma_sync_single (struct device *, dma_addr_t, size_t, int);
|
|
@@ -146,6 +153,7 @@ extern void machvec_tlb_migrate_finish (struct mm_struct *);
|
|
|
# define platform_readw_relaxed ia64_mv.readw_relaxed
|
|
|
# define platform_readl_relaxed ia64_mv.readl_relaxed
|
|
|
# define platform_readq_relaxed ia64_mv.readq_relaxed
|
|
|
+# define platform_migrate ia64_mv.migrate
|
|
|
# endif
|
|
|
|
|
|
/* __attribute__((__aligned__(16))) is required to make size of the
|
|
@@ -194,6 +202,7 @@ struct ia64_machine_vector {
|
|
|
ia64_mv_readw_relaxed_t *readw_relaxed;
|
|
|
ia64_mv_readl_relaxed_t *readl_relaxed;
|
|
|
ia64_mv_readq_relaxed_t *readq_relaxed;
|
|
|
+ ia64_mv_migrate_t *migrate;
|
|
|
} __attribute__((__aligned__(16))); /* align attrib? see above comment */
|
|
|
|
|
|
#define MACHVEC_INIT(name) \
|
|
@@ -238,6 +247,7 @@ struct ia64_machine_vector {
|
|
|
platform_readw_relaxed, \
|
|
|
platform_readl_relaxed, \
|
|
|
platform_readq_relaxed, \
|
|
|
+ platform_migrate, \
|
|
|
}
|
|
|
|
|
|
extern struct ia64_machine_vector ia64_mv;
|
|
@@ -386,5 +396,8 @@ extern ia64_mv_dma_supported swiotlb_dma_supported;
|
|
|
#ifndef platform_readq_relaxed
|
|
|
# define platform_readq_relaxed __ia64_readq_relaxed
|
|
|
#endif
|
|
|
+#ifndef platform_migrate
|
|
|
+# define platform_migrate machvec_noop_task
|
|
|
+#endif
|
|
|
|
|
|
#endif /* _ASM_IA64_MACHVEC_H */
|