fiq.c (5b146f7e016a8727a98b3d48e4f4e128d3624cd5) fiq.c (2ba85e7af4c639d933c9a87a6d7363f2983d5ada)
1/*
2 * linux/arch/arm/kernel/fiq.c
3 *
4 * Copyright (C) 1998 Russell King
5 * Copyright (C) 1998, 1999 Phil Blundell
6 *
7 * FIQ support written by Philip Blundell <philb@gnu.org>, 1998.
8 *

--- 70 unchanged lines hidden (view full) ---

79 seq_printf(p, "%*s: %s\n", prec, "FIQ",
80 current_fiq->name);
81
82 return 0;
83}
84
85void set_fiq_handler(void *start, unsigned int length)
86{
1/*
2 * linux/arch/arm/kernel/fiq.c
3 *
4 * Copyright (C) 1998 Russell King
5 * Copyright (C) 1998, 1999 Phil Blundell
6 *
7 * FIQ support written by Philip Blundell <philb@gnu.org>, 1998.
8 *

--- 70 unchanged lines hidden (view full) ---

79 seq_printf(p, "%*s: %s\n", prec, "FIQ",
80 current_fiq->name);
81
82 return 0;
83}
84
85void set_fiq_handler(void *start, unsigned int length)
86{
87#if defined(CONFIG_CPU_USE_DOMAINS)
88 void *base = (void *)0xffff0000;
89#else
90 void *base = vectors_page;
87 void *base = vectors_page;
91#endif
92 unsigned offset = FIQ_OFFSET;
93
94 memcpy(base + offset, start, length);
88 unsigned offset = FIQ_OFFSET;
89
90 memcpy(base + offset, start, length);
91 if (!cache_is_vipt_nonaliasing())
92 flush_icache_range(base + offset, offset + length);
95 flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length);
93 flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length);
96 if (!vectors_high())
97 flush_icache_range(offset, offset + length);
98}
99
100int claim_fiq(struct fiq_handler *f)
101{
102 int ret = 0;
103
104 if (current_fiq) {
105 ret = -EBUSY;

--- 53 unchanged lines hidden ---
94}
95
96int claim_fiq(struct fiq_handler *f)
97{
98 int ret = 0;
99
100 if (current_fiq) {
101 ret = -EBUSY;

--- 53 unchanged lines hidden ---