From 606576ce816603d9fe1fb453a88bc6eea16ca709 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 6 Oct 2008 19:06:12 -0400 Subject: ftrace: rename FTRACE to FUNCTION_TRACER Due to confusion between the ftrace infrastructure and the gcc profiling tracer "ftrace", this patch renames the config options from FTRACE to FUNCTION_TRACER. The other two names that are offspring from FTRACE DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same. This patch was generated mostly by script, and partially by hand. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/asm-x86/ftrace.h | 4 ++-- include/linux/ftrace.h | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/asm-x86/ftrace.h b/include/asm-x86/ftrace.h index 1bb6f9bbe1ab..233bb9b869c0 100644 --- a/include/asm-x86/ftrace.h +++ b/include/asm-x86/ftrace.h @@ -1,7 +1,7 @@ #ifndef ASM_X86__FTRACE_H #define ASM_X86__FTRACE_H -#ifdef CONFIG_FTRACE +#ifdef CONFIG_FUNCTION_TRACER #define MCOUNT_ADDR ((long)(mcount)) #define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */ @@ -19,6 +19,6 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr) } #endif -#endif /* CONFIG_FTRACE */ +#endif /* CONFIG_FUNCTION_TRACER */ #endif /* ASM_X86__FTRACE_H */ diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index a3d46151be19..0e9529589151 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -8,7 +8,7 @@ #include #include -#ifdef CONFIG_FTRACE +#ifdef CONFIG_FUNCTION_TRACER extern int ftrace_enabled; extern int @@ -36,12 +36,12 @@ void clear_ftrace_function(void); extern void ftrace_stub(unsigned long a0, unsigned long a1); -#else /* !CONFIG_FTRACE */ +#else /* !CONFIG_FUNCTION_TRACER */ # define register_ftrace_function(ops) do { } while (0) # define unregister_ftrace_function(ops) do { } while (0) # define clear_ftrace_function(ops) do { } while (0) static inline void ftrace_kill_atomic(void) { } -#endif /* CONFIG_FTRACE */ +#endif /* CONFIG_FUNCTION_TRACER */ #ifdef CONFIG_DYNAMIC_FTRACE # define FTRACE_HASHBITS 10 @@ -101,7 +101,7 @@ void ftrace_kill_atomic(void); static inline void tracer_disable(void) { -#ifdef CONFIG_FTRACE +#ifdef CONFIG_FUNCTION_TRACER ftrace_enabled = 0; #endif } @@ -113,7 +113,7 @@ static inline void tracer_disable(void) */ static inline int __ftrace_enabled_save(void) { -#ifdef CONFIG_FTRACE +#ifdef CONFIG_FUNCTION_TRACER int saved_ftrace_enabled = ftrace_enabled; ftrace_enabled = 0; return saved_ftrace_enabled; @@ -124,7 +124,7 @@ static inline int __ftrace_enabled_save(void) static inline void __ftrace_enabled_restore(int enabled) { -#ifdef CONFIG_FTRACE +#ifdef CONFIG_FUNCTION_TRACER ftrace_enabled = enabled; #endif } -- cgit v1.2.3 From b62b75905d571c29262a6c38cf9e5f089c203871 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 21 Oct 2008 13:25:21 +1100 Subject: md: use sysfs_notify_dirent to notify changes to md/array_state Now that we have sysfs_notify_dirent, use it to notify changes to md/array_state. As sysfs_notify_dirent can be called in atomic context, we can remove the delayed notify and the MD_NOTIFY_ARRAY_STATE flag. Signed-off-by: NeilBrown --- include/linux/raid/md_k.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index c200b9a34aff..b16ad867e944 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -128,7 +128,6 @@ struct mddev_s #define MD_CHANGE_DEVS 0 /* Some device status has changed */ #define MD_CHANGE_CLEAN 1 /* transition to or from 'clean' */ #define MD_CHANGE_PENDING 2 /* superblock update in progress */ -#define MD_NOTIFY_ARRAY_STATE 3 /* atomic context wants to notify userspace */ int ro; @@ -239,6 +238,10 @@ struct mddev_s sector_t resync_max; /* resync should pause * when it gets here */ + struct sysfs_dirent *sysfs_state; /* handle for 'array_state' + * file in sysfs. + */ + spinlock_t write_lock; wait_queue_head_t sb_wait; /* for waiting on superblock updates */ atomic_t pending_writes; /* number of active superblock writes */ -- cgit v1.2.3 From 3c0ee63a64a20351ed6c16ec797e1f8c850741ea Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 21 Oct 2008 13:25:28 +1100 Subject: md: use sysfs_notify_dirent to notify changes to md/dev-xxx/state The 'state' file for a device reports, for example, when the device has failed. Changes should be reported to userspace ASAP without the possibility of blocking on low-memory. sysfs_notify does have that possibility (as it takes a mutex which can be held across a kmalloc) so use sysfs_notify_dirent instead. Signed-off-by: NeilBrown --- include/linux/raid/md_k.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index b16ad867e944..8fc909ef6787 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -115,6 +115,9 @@ struct mdk_rdev_s * in superblock. */ struct work_struct del_work; /* used for delayed sysfs removal */ + + struct sysfs_dirent *sysfs_state; /* handle for 'state' + * sysfs entry */ }; struct mddev_s -- cgit v1.2.3 From 4ce72a2c063a7fa8e42a9435440ae3364115a58d Mon Sep 17 00:00:00 2001 From: Li Zefan Date: Wed, 22 Oct 2008 15:25:26 +0800 Subject: sched: add CONFIG_SMP consistency a patch from Henrik Austad did this: >> Do not declare select_task_rq as part of sched_class when CONFIG_SMP is >> not set. Peter observed: > While a proper cleanup, could you do it by re-arranging the methods so > as to not create an additional ifdef? Do not declare select_task_rq and some other methods as part of sched_class when CONFIG_SMP is not set. Also gather those methods to avoid CONFIG_SMP mess. Idea-by: Henrik Austad Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Henrik Austad Signed-off-by: Ingo Molnar --- include/linux/sched.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/linux/sched.h b/include/linux/sched.h index 4f59c8e8597d..c05b45faef18 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -897,7 +897,6 @@ struct sched_class { void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup); void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep); void (*yield_task) (struct rq *rq); - int (*select_task_rq)(struct task_struct *p, int sync); void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync); @@ -905,6 +904,8 @@ struct sched_class { void (*put_prev_task) (struct rq *rq, struct task_struct *p); #ifdef CONFIG_SMP + int (*select_task_rq)(struct task_struct *p, int sync); + unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, struct rq *busiest, unsigned long max_load_move, struct sched_domain *sd, enum cpu_idle_type idle, @@ -916,16 +917,17 @@ struct sched_class { void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); void (*post_schedule) (struct rq *this_rq); void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); -#endif - void (*set_curr_task) (struct rq *rq); - void (*task_tick) (struct rq *rq, struct task_struct *p, int queued); - void (*task_new) (struct rq *rq, struct task_struct *p); void (*set_cpus_allowed)(struct task_struct *p, const cpumask_t *newmask); void (*rq_online)(struct rq *rq); void (*rq_offline)(struct rq *rq); +#endif + + void (*set_curr_task) (struct rq *rq); + void (*task_tick) (struct rq *rq, struct task_struct *p, int queued); + void (*task_new) (struct rq *rq, struct task_struct *p); void (*switched_from) (struct rq *this_rq, struct task_struct *task, int running); -- cgit v1.2.3 From a73a63701f8f23e70674b3c5e367a0a726c18468 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Wed, 22 Oct 2008 14:45:11 +0200 Subject: HID: add hid_type to general hid struct Add type to the hid structure to distinguish to which device type (now only mouse) we are talking to. Needed for per device type ignore list support. Note: this patch leaves the type as unknown for bluetooth devices, there is not support for this in the hidp code. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina --- include/linux/hid.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include') diff --git a/include/linux/hid.h b/include/linux/hid.h index f13bca2dd53b..5355ca4b939e 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -417,6 +417,11 @@ struct hid_input { struct input_dev *input; }; +enum hid_type { + HID_TYPE_OTHER = 0, + HID_TYPE_USBMOUSE +}; + struct hid_driver; struct hid_ll_driver; @@ -431,6 +436,7 @@ struct hid_device { /* device report descriptor */ __u32 vendor; /* Vendor ID */ __u32 product; /* Product ID */ __u32 version; /* HID version */ + enum hid_type type; /* device type (mouse, kbd, ...) */ unsigned country; /* HID country */ struct hid_report_enum report_enum[HID_REPORT_TYPES]; -- cgit v1.2.3 From 593eb8a2d63e95772a5f22d746f18a997c5ee463 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 23 Oct 2008 09:32:59 -0400 Subject: ftrace: return error on failed modified text. Have the ftrace_modify_code return error values: -EFAULT on error of reading the address -EINVAL if what is read does not match what it expected -EPERM if the write fails to update after a successful match. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/linux/ftrace.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 0e9529589151..79fa10cbdcfb 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -72,13 +72,33 @@ extern unsigned char *ftrace_nop_replace(void); extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr); extern int ftrace_dyn_arch_init(void *data); extern int ftrace_mcount_set(unsigned long *data); -extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code, - unsigned char *new_code); extern int ftrace_update_ftrace_func(ftrace_func_t func); extern void ftrace_caller(void); extern void ftrace_call(void); extern void mcount_call(void); +/** + * ftrace_modify_code - modify code segment + * @ip: the address of the code segment + * @old_code: the contents of what is expected to be there + * @new_code: the code to patch in + * + * This is a very sensitive operation and great care needs + * to be taken by the arch. The operation should carefully + * read the location, check to see if what is read is indeed + * what we expect it to be, and then on success of the compare, + * it should write to the location. + * + * Return must be: + * 0 on success + * -EFAULT on error reading the location + * -EINVAL on a failed compare of the contents + * -EPERM on error writing to the location + * Any other value will be considered a failure. + */ +extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code, + unsigned char *new_code); + extern int skip_trace(unsigned long ip); extern void ftrace_release(void *start, unsigned long size); -- cgit v1.2.3 From 81adbdc029ecc416d56563e7f159100181dd711d Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 23 Oct 2008 09:33:02 -0400 Subject: ftrace: only have ftrace_kill atomic When an anomaly is detected, we need a way to completely disable ftrace. Right now we have two functions: ftrace_kill and ftrace_kill_atomic. The ftrace_kill tries to do it in a "nice" way by converting everything back to a nop. The "nice" way is dangerous itself, so this patch removes it and only has the "atomic" version, which is all that is needed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/linux/ftrace.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'include') diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 79fa10cbdcfb..ac58e94668b7 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -40,7 +40,7 @@ extern void ftrace_stub(unsigned long a0, unsigned long a1); # define register_ftrace_function(ops) do { } while (0) # define unregister_ftrace_function(ops) do { } while (0) # define clear_ftrace_function(ops) do { } while (0) -static inline void ftrace_kill_atomic(void) { } +static inline void ftrace_kill(void) { } #endif /* CONFIG_FUNCTION_TRACER */ #ifdef CONFIG_DYNAMIC_FTRACE @@ -117,7 +117,6 @@ static inline void ftrace_release(void *start, unsigned long size) { } /* totally disable ftrace - can not re-enable after this */ void ftrace_kill(void); -void ftrace_kill_atomic(void); static inline void tracer_disable(void) { -- cgit v1.2.3 From 4d296c24326783bff1282ac72f310d8bac8df413 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 23 Oct 2008 09:33:06 -0400 Subject: ftrace: remove mcount set The arch dependent function ftrace_mcount_set was only used by the daemon start up code. This patch removes it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/linux/ftrace.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index ac58e94668b7..1c4835f86911 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -71,7 +71,6 @@ extern int ftrace_ip_converted(unsigned long ip); extern unsigned char *ftrace_nop_replace(void); extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr); extern int ftrace_dyn_arch_init(void *data); -extern int ftrace_mcount_set(unsigned long *data); extern int ftrace_update_ftrace_func(ftrace_func_t func); extern void ftrace_caller(void); extern void ftrace_call(void); -- cgit v1.2.3 From 08f5ac906d2c0faf96d608c54a0b03177376da8d Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 23 Oct 2008 09:33:07 -0400 Subject: ftrace: remove ftrace hash The ftrace hash was used by the ftrace_daemon code. The record ip function would place the calling address (ip) into the hash. The daemon would later read the hash and modify that code. The hash complicates the code. This patch removes it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/linux/ftrace.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 1c4835f86911..703eb53cfa2b 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -44,8 +44,6 @@ static inline void ftrace_kill(void) { } #endif /* CONFIG_FUNCTION_TRACER */ #ifdef CONFIG_DYNAMIC_FTRACE -# define FTRACE_HASHBITS 10 -# define FTRACE_HASHSIZE (1< Date: Thu, 23 Oct 2008 16:44:29 +0200 Subject: [CRISv32] Remove warning in io.h Variable flags need to be unsigned. Signed-off-by: Jesper Nilsson --- include/asm-cris/arch-v32/io.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/asm-cris/arch-v32/io.h b/include/asm-cris/arch-v32/io.h index 6b38912f29ba..72024452cea9 100644 --- a/include/asm-cris/arch-v32/io.h +++ b/include/asm-cris/arch-v32/io.h @@ -43,7 +43,7 @@ extern struct crisv32_iopin crisv32_led_net1_red; static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) { - long flags; + unsigned long flags; spin_lock_irqsave(&iopin->port->lock, flags); if (val) @@ -57,7 +57,7 @@ static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin, enum crisv32_io_dir dir) { - long flags; + unsigned long flags; spin_lock_irqsave(&iopin->port->lock, flags); if (dir == crisv32_io_dir_in) -- cgit v1.2.3 From 3ad0b02e4c1d5feba44b8ff48dccd1ba61a826b0 Mon Sep 17 00:00:00 2001 From: Venki Pallipadi Date: Wed, 22 Oct 2008 16:34:52 -0700 Subject: i7300_idle: Disable ioat channel only on platforms where ile driver can load Based on input from Andi Kleen: share the platform detection code with ioat_dma and disable the channel in dma engine only for specific platforms. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown --- include/linux/i7300_idle.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 include/linux/i7300_idle.h (limited to 'include') diff --git a/include/linux/i7300_idle.h b/include/linux/i7300_idle.h new file mode 100644 index 000000000000..05a80c44513c --- /dev/null +++ b/include/linux/i7300_idle.h @@ -0,0 +1,83 @@ + +#ifndef I7300_IDLE_H +#define I7300_IDLE_H + +#include + +/* + * I/O AT controls (PCI bus 0 device 8 function 0) + * DIMM controls (PCI bus 0 device 16 function 1) + */ +#define IOAT_BUS 0 +#define IOAT_DEVFN PCI_DEVFN(8, 0) +#define MEMCTL_BUS 0 +#define MEMCTL_DEVFN PCI_DEVFN(16, 1) + +struct fbd_ioat { + unsigned int vendor; + unsigned int ioat_dev; +}; + +/* + * The i5000 chip-set has the same hooks as the i7300 + * but support is disabled by default because this driver + * has not been validated on that platform. + */ +#define SUPPORT_I5000 0 + +static const struct fbd_ioat fbd_ioat_list[] = { + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB}, +#if SUPPORT_I5000 + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT}, +#endif + {0, 0} +}; + +/* table of devices that work with this driver */ +static const struct pci_device_id pci_tbl[] = { + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) }, +#if SUPPORT_I5000 + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) }, +#endif + { } /* Terminating entry */ +}; + +/* Check for known platforms with I/O-AT */ +static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev, + struct pci_dev **ioat_dev) +{ + int i; + struct pci_dev *memdev, *dmadev; + + memdev = pci_get_bus_and_slot(MEMCTL_BUS, MEMCTL_DEVFN); + if (!memdev) + return -ENODEV; + + for (i = 0; pci_tbl[i].vendor != 0; i++) { + if (memdev->vendor == pci_tbl[i].vendor && + memdev->device == pci_tbl[i].device) { + break; + } + } + if (pci_tbl[i].vendor == 0) + return -ENODEV; + + dmadev = pci_get_bus_and_slot(IOAT_BUS, IOAT_DEVFN); + if (!dmadev) + return -ENODEV; + + for (i = 0; fbd_ioat_list[i].vendor != 0; i++) { + if (dmadev->vendor == fbd_ioat_list[i].vendor && + dmadev->device == fbd_ioat_list[i].ioat_dev) { + if (fbd_dev) + *fbd_dev = memdev; + if (ioat_dev) + *ioat_dev = dmadev; + + return 0; + } + } + return -ENODEV; +} + +#endif -- cgit v1.2.3 From e214a8cc7a81f20ed7cb4f6373cf15048556bbac Mon Sep 17 00:00:00 2001 From: Remi Denis-Courmont Date: Sun, 26 Oct 2008 23:06:31 -0700 Subject: Phonet: include generic link-layer header size in MAX_PHONET_HEADER This fixes an OOPS in hard_header if a Phonet address is assigned to a non-Phonet network interface. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller --- include/net/phonet/phonet.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/net/phonet/phonet.h b/include/net/phonet/phonet.h index d4e72508e145..c6a245184460 100644 --- a/include/net/phonet/phonet.h +++ b/include/net/phonet/phonet.h @@ -27,7 +27,7 @@ * The lower layers may not require more space, ever. Make sure it's * enough. */ -#define MAX_PHONET_HEADER 8 +#define MAX_PHONET_HEADER (8 + MAX_HEADER) /* * Every Phonet* socket has this structure first in its -- cgit v1.2.3 From c3a90c788b743303c4d824780a3a7271693fb64a Mon Sep 17 00:00:00 2001 From: Remi Denis-Courmont Date: Sun, 26 Oct 2008 23:07:25 -0700 Subject: Phonet: do not reply to indication reset packets This fixes a potential error packet loop. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller --- include/linux/phonet.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/phonet.h b/include/linux/phonet.h index c9609f9aedac..4157faa857b6 100644 --- a/include/linux/phonet.h +++ b/include/linux/phonet.h @@ -72,6 +72,7 @@ struct phonetmsg { } pn_msg_u; }; #define PN_COMMON_MESSAGE 0xF0 +#define PN_COMMGR 0x10 #define PN_PREFIX 0xE0 /* resource for extended messages */ #define pn_submsg_id pn_msg_u.base.pn_submsg_id #define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id -- cgit v1.2.3 From 5209f08dc8e5f520ca81b87fa9a7142f58a109f4 Mon Sep 17 00:00:00 2001 From: Jonas Bonn Date: Sat, 25 Oct 2008 11:49:20 +0200 Subject: asm-generic: define DIE_OOPS in asm-generic Impact: build fix DIE_OOPS is now used in the generic trace handling code so it needs to be defined for all architectures. Define it in asm-generic so that it's available to all by default and doesn't cause build errors for architectures that rely on the generic implementation. Signed-off-by: Jonas Bonn Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar --- include/asm-generic/kdebug.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/asm-generic/kdebug.h b/include/asm-generic/kdebug.h index 2b799c90b2d4..11e57b6a85fc 100644 --- a/include/asm-generic/kdebug.h +++ b/include/asm-generic/kdebug.h @@ -3,6 +3,7 @@ enum die_val { DIE_UNUSED, + DIE_OOPS=1 }; #endif /* _ASM_GENERIC_KDEBUG_H */ -- cgit v1.2.3 From 3d5afd324a4bf9f64f59599bf1e93cd7dd1dc97a Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Mon, 27 Oct 2008 12:16:15 +0100 Subject: HID: fix oops during suspend of unbound HID devices Usbhid structure is allocated on start invoked only from probe of some driver. When there is no driver, the structure is null and causes null-dereference oopses. Fix it by allocating the structure on probe and disconnect of the device itself. Also make sure we won't race between start and resume or stop and suspend respectively. References: http://bugzilla.kernel.org/show_bug.cgi?id=11827 Signed-off-by: Jiri Slaby Cc: Johannes Berg Cc: Andreas Schwab Signed-off-by: Jiri Kosina --- include/linux/hid.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/hid.h b/include/linux/hid.h index 5355ca4b939e..e5780f8c934a 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -410,6 +410,7 @@ struct hid_output_fifo { #define HID_SUSPENDED 5 #define HID_CLEAR_HALT 6 #define HID_DISCONNECTED 7 +#define HID_STARTED 8 struct hid_input { struct list_head list; -- cgit v1.2.3 From 3070f69b66b7ab2f02d8a2500edae07039c38508 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 27 Oct 2008 19:20:59 +0100 Subject: scsi: make sure that scsi_init_shared_tag_map() doesn't overwrite existing map Right now callers have to check whether scsi_host->bqt is already set up, it's much cleaner to just have scsi_init_shared_tag_map() does this check on its own. Signed-off-by: Jens Axboe --- include/scsi/scsi_tcq.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h index cf4c219c0b5c..17231385cb37 100644 --- a/include/scsi/scsi_tcq.h +++ b/include/scsi/scsi_tcq.h @@ -140,8 +140,18 @@ static inline struct scsi_cmnd *scsi_find_tag(struct scsi_device *sdev, int tag) */ static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth) { - shost->bqt = blk_init_tags(depth); - return shost->bqt ? 0 : -ENOMEM; + /* + * If the shared tag map isn't already initialized, do it now. + * This saves callers from having to check ->bqt when setting up + * devices on the shared host (for libata) + */ + if (!shost->bqt) { + shost->bqt = blk_init_tags(depth); + if (!shost->bqt) + return -ENOMEM; + } + + return 0; } /** -- cgit v1.2.3 From ea2d8b59bc7b770fde03de2bb9b3ee46e8bdc8d5 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Mon, 27 Oct 2008 09:47:03 -0700 Subject: mac80211.h: fix kernel-doc excesses Fix mac80211.h kernel-doc: it had some extra parameters that were no longer valid and incorrect format for a return value in 2 places. Warning(lin2628-rc2//include/net/mac80211.h:1487): Excess function parameter or struct member 'control' description in 'ieee80211_beacon_get' Warning(lin2628-rc2//include/net/mac80211.h:1596): Excess function parameter or struct member 'control' description in 'ieee80211_get_buffered_bc' Warning(lin2628-rc2//include/net/mac80211.h:1632): Excess function parameter or struct member 'rc4key' description in 'ieee80211_get_tkip_key' Warning(lin2628-rc2//include/net/mac80211.h:1735): Excess function parameter or struct member 'return' description in 'ieee80211_start_tx_ba_session' Warning(lin2628-rc2//include/net/mac80211.h:1775): Excess function parameter or struct member 'return' description in 'ieee80211_stop_tx_ba_session' Signed-off-by: Randy Dunlap Acked-by: Johannes Berg Signed-off-by: John W. Linville --- include/net/mac80211.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/net/mac80211.h b/include/net/mac80211.h index d861197f83c7..8856e2d60e9f 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -1474,7 +1474,6 @@ void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw, * ieee80211_beacon_get - beacon generation function * @hw: pointer obtained from ieee80211_alloc_hw(). * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf. - * @control: will be filled with information needed to send this beacon. * * If the beacon frames are generated by the host system (i.e., not in * hardware/firmware), the low-level driver uses this function to receive @@ -1575,7 +1574,6 @@ __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw, * ieee80211_get_buffered_bc - accessing buffered broadcast and multicast frames * @hw: pointer as obtained from ieee80211_alloc_hw(). * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf. - * @control: will be filled with information needed to send returned frame. * * Function for accessing buffered broadcast and multicast frames. If * hardware/firmware does not implement buffering of broadcast/multicast @@ -1623,9 +1621,8 @@ unsigned int ieee80211_hdrlen(__le16 fc); * * @keyconf: the parameter passed with the set key * @skb: the skb for which the key is needed - * @rc4key: a buffer to which the key will be written * @type: TBD - * @key: TBD + * @key: a buffer to which the key will be written */ void ieee80211_get_tkip_key(struct ieee80211_key_conf *keyconf, struct sk_buff *skb, @@ -1726,7 +1723,8 @@ void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw, * @hw: pointer as obtained from ieee80211_alloc_hw(). * @ra: receiver address of the BA session recipient * @tid: the TID to BA on. - * @return: success if addBA request was sent, failure otherwise + * + * Return: success if addBA request was sent, failure otherwise * * Although mac80211/low level driver/user space application can estimate * the need to start aggregation on a certain RA/TID, the session level @@ -1764,7 +1762,8 @@ void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_hw *hw, const u8 *ra, * @ra: receiver address of the BA session recipient * @tid: the TID to stop BA. * @initiator: if indicates initiator DELBA frame will be sent. - * @return: error if no sta with matching da found, success otherwise + * + * Return: error if no sta with matching da found, success otherwise * * Although mac80211/low level driver/user space application can estimate * the need to stop aggregation on a certain RA/TID, the session level -- cgit v1.2.3 From 5550af4df179e52753d3a43a788a113ad8cd95cd Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 15 Oct 2008 20:15:06 +0800 Subject: KVM: Fix guest shared interrupt with in-kernel irqchip Every call of kvm_set_irq() should offer an irq_source_id, which is allocated by kvm_request_irq_source_id(). Based on irq_source_id, we identify the irq source and implement logical OR for shared level interrupts. The allocated irq_source_id can be freed by kvm_free_irq_source_id(). Currently, we support at most sizeof(unsigned long) different irq sources. [Amit: - rebase to kvm.git HEAD - move definition of KVM_USERSPACE_IRQ_SOURCE_ID to common file - move kvm_request_irq_source_id to the update_irq ioctl] [Xiantao: - Add kvm/ia64 stuff and make it work for kvm/ia64 guests] Signed-off-by: Sheng Yang Signed-off-by: Amit Shah Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity --- include/linux/kvm_host.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 3833c48fae3a..bb92be2153bc 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -37,6 +37,8 @@ #define KVM_REQ_UNHALT 6 #define KVM_REQ_MMU_SYNC 7 +#define KVM_USERSPACE_IRQ_SOURCE_ID 0 + struct kvm_vcpu; extern struct kmem_cache *kvm_vcpu_cache; @@ -306,15 +308,18 @@ struct kvm_assigned_dev_kernel { int host_irq; int guest_irq; int irq_requested; + int irq_source_id; struct pci_dev *dev; struct kvm *kvm; }; -void kvm_set_irq(struct kvm *kvm, int irq, int level); +void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level); void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); void kvm_register_irq_ack_notifier(struct kvm *kvm, struct kvm_irq_ack_notifier *kian); void kvm_unregister_irq_ack_notifier(struct kvm *kvm, struct kvm_irq_ack_notifier *kian); +int kvm_request_irq_source_id(struct kvm *kvm); +void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id); #ifdef CONFIG_DMAR int kvm_iommu_map_pages(struct kvm *kvm, gfn_t base_gfn, -- cgit v1.2.3 From bb45e202e695dea8657bb03a01d1522c37558672 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Sun, 19 Oct 2008 16:39:45 +0200 Subject: KVM: Future-proof device assignment ABI Reserve some space so we can add more data. Signed-off-by: Avi Kivity --- include/linux/kvm.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include') diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 797fcd781242..f18b86fa8655 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@ -489,6 +489,9 @@ struct kvm_assigned_pci_dev { __u32 busnr; __u32 devfn; __u32 flags; + union { + __u32 reserved[12]; + }; }; struct kvm_assigned_irq { @@ -496,6 +499,9 @@ struct kvm_assigned_irq { __u32 host_irq; __u32 guest_irq; __u32 flags; + union { + __u32 reserved[12]; + }; }; #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) -- cgit v1.2.3 From 8175fe2dda1c93a9c596921c8ed4a0b4baccdefe Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sun, 26 Oct 2008 00:30:18 +0200 Subject: HID: fix hid_device_id for cross compiling struct hid_device_id contains hidden padding which is bad for cross compiling. Make the padding explicit and consistent across architectures. Signed-off-by: Andreas Schwab Signed-off-by: Jiri Kosina --- include/linux/mod_devicetable.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index eb71b45fdf5a..97b91d1abb43 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -135,6 +135,7 @@ struct usb_device_id { struct hid_device_id { __u16 bus; + __u16 pad1; __u32 vendor; __u32 product; kernel_ulong_t driver_data -- cgit v1.2.3 From 556dcee7b829e5c350c3ffdbdb87a8b15aa3c5d3 Mon Sep 17 00:00:00 2001 From: Jesper Nilsson Date: Tue, 21 Oct 2008 17:45:58 +0200 Subject: [CRIS] Move header files from include to arch/cris/include. Change all users of header files to correct path. Remove some unneeded headers for arch-v32. Signed-off-by: Jesper Nilsson --- include/asm-cris/Kbuild | 11 - include/asm-cris/arch-v10/Kbuild | 4 - include/asm-cris/arch-v10/atomic.h | 7 - include/asm-cris/arch-v10/bitops.h | 73 - include/asm-cris/arch-v10/bug.h | 66 - include/asm-cris/arch-v10/byteorder.h | 26 - include/asm-cris/arch-v10/cache.h | 8 - include/asm-cris/arch-v10/checksum.h | 29 - include/asm-cris/arch-v10/delay.h | 20 - include/asm-cris/arch-v10/dma.h | 74 - include/asm-cris/arch-v10/elf.h | 81 - include/asm-cris/arch-v10/io.h | 199 - include/asm-cris/arch-v10/io_interface_mux.h | 75 - include/asm-cris/arch-v10/irq.h | 160 - include/asm-cris/arch-v10/memmap.h | 22 - include/asm-cris/arch-v10/mmu.h | 109 - include/asm-cris/arch-v10/offset.h | 33 - include/asm-cris/arch-v10/page.h | 30 - include/asm-cris/arch-v10/pgtable.h | 17 - include/asm-cris/arch-v10/processor.h | 70 - include/asm-cris/arch-v10/ptrace.h | 119 - include/asm-cris/arch-v10/sv_addr.agh | 7306 -------------------- include/asm-cris/arch-v10/sv_addr_ag.h | 139 - include/asm-cris/arch-v10/svinto.h | 64 - include/asm-cris/arch-v10/system.h | 63 - include/asm-cris/arch-v10/thread_info.h | 12 - include/asm-cris/arch-v10/timex.h | 30 - include/asm-cris/arch-v10/tlb.h | 13 - include/asm-cris/arch-v10/uaccess.h | 660 -- include/asm-cris/arch-v10/unistd.h | 148 - include/asm-cris/arch-v10/user.h | 46 - include/asm-cris/arch-v32/Kbuild | 2 - include/asm-cris/arch-v32/arbiter.h | 30 - include/asm-cris/arch-v32/atomic.h | 36 - include/asm-cris/arch-v32/bitops.h | 64 - include/asm-cris/arch-v32/bug.h | 33 - include/asm-cris/arch-v32/byteorder.h | 20 - include/asm-cris/arch-v32/cache.h | 19 - include/asm-cris/arch-v32/checksum.h | 29 - include/asm-cris/arch-v32/cryptocop.h | 272 - include/asm-cris/arch-v32/delay.h | 28 - include/asm-cris/arch-v32/dma.h | 79 - include/asm-cris/arch-v32/elf.h | 73 - include/asm-cris/arch-v32/hwregs/Makefile | 186 - .../asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h | 222 - .../arch-v32/hwregs/asm/bif_core_defs_asm.h | 319 - .../arch-v32/hwregs/asm/bif_dma_defs_asm.h | 495 -- .../arch-v32/hwregs/asm/bif_slave_defs_asm.h | 249 - .../asm-cris/arch-v32/hwregs/asm/config_defs_asm.h | 131 - include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h | 41 - .../asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h | 114 - .../asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h | 10 - .../asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h | 368 - .../asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h | 498 -- .../asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h | 276 - include/asm-cris/arch-v32/hwregs/asm/intr_vect.h | 38 - .../arch-v32/hwregs/asm/intr_vect_defs_asm.h | 355 - .../arch-v32/hwregs/asm/irq_nmi_defs_asm.h | 69 - .../asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h | 579 -- .../asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h | 212 - .../asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h | 7 - .../asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h | 632 -- include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h | 96 - .../arch-v32/hwregs/asm/rt_trace_defs_asm.h | 142 - .../asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h | 359 - .../asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h | 462 -- .../asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h | 84 - .../asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h | 100 - .../asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h | 229 - include/asm-cris/arch-v32/hwregs/ata_defs.h | 222 - include/asm-cris/arch-v32/hwregs/bif_core_defs.h | 284 - include/asm-cris/arch-v32/hwregs/bif_dma_defs.h | 473 -- include/asm-cris/arch-v32/hwregs/bif_slave_defs.h | 249 - include/asm-cris/arch-v32/hwregs/config_defs.h | 142 - include/asm-cris/arch-v32/hwregs/cpu_vect.h | 41 - include/asm-cris/arch-v32/hwregs/dma.h | 127 - include/asm-cris/arch-v32/hwregs/dma_defs.h | 436 -- include/asm-cris/arch-v32/hwregs/eth_defs.h | 378 - include/asm-cris/arch-v32/hwregs/extmem_defs.h | 369 - include/asm-cris/arch-v32/hwregs/gio_defs.h | 295 - include/asm-cris/arch-v32/hwregs/intr_vect.h | 39 - include/asm-cris/arch-v32/hwregs/iop/Makefile | 146 - .../arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h | 171 - .../arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h | 321 - .../arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h | 349 - .../arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h | 234 - .../hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h | 155 - .../hwregs/iop/asm/iop_fifo_out_defs_asm.h | 254 - .../hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h | 158 - .../arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h | 177 - .../arch-v32/hwregs/iop/asm/iop_reg_space_asm.h | 44 - .../arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h | 182 - .../arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h | 346 - .../arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h | 111 - .../hwregs/iop/asm/iop_scrc_out_defs_asm.h | 105 - .../arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h | 573 -- .../arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h | 1052 --- .../arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h | 1758 ----- .../arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h | 1776 ----- .../arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h | 691 -- .../hwregs/iop/asm/iop_timer_grp_defs_asm.h | 237 - .../hwregs/iop/asm/iop_trigger_grp_defs_asm.h | 157 - .../arch-v32/hwregs/iop/asm/iop_version_defs_asm.h | 64 - .../arch-v32/hwregs/iop/iop_crc_par_defs.h | 232 - .../asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h | 325 - .../arch-v32/hwregs/iop/iop_dmc_out_defs.h | 326 - .../arch-v32/hwregs/iop/iop_fifo_in_defs.h | 255 - .../arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h | 164 - .../arch-v32/hwregs/iop/iop_fifo_out_defs.h | 278 - .../arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h | 164 - .../asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h | 190 - .../asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h | 764 -- .../asm-cris/arch-v32/hwregs/iop/iop_reg_space.h | 44 - .../asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h | 179 - .../arch-v32/hwregs/iop/iop_sap_out_defs.h | 306 - .../arch-v32/hwregs/iop/iop_scrc_in_defs.h | 160 - .../arch-v32/hwregs/iop/iop_scrc_out_defs.h | 146 - .../asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h | 453 -- .../asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h | 1042 --- .../asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h | 853 --- .../asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h | 893 --- .../asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h | 552 -- .../arch-v32/hwregs/iop/iop_timer_grp_defs.h | 249 - .../arch-v32/hwregs/iop/iop_trigger_grp_defs.h | 170 - .../arch-v32/hwregs/iop/iop_version_defs.h | 99 - include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h | 104 - include/asm-cris/arch-v32/hwregs/marb_bp_defs.h | 205 - include/asm-cris/arch-v32/hwregs/marb_defs.h | 475 -- include/asm-cris/arch-v32/hwregs/pinmux_defs.h | 357 - include/asm-cris/arch-v32/hwregs/reg_rdwr.h | 17 - include/asm-cris/arch-v32/hwregs/rt_trace_defs.h | 173 - include/asm-cris/arch-v32/hwregs/ser_defs.h | 308 - include/asm-cris/arch-v32/hwregs/sser_defs.h | 331 - include/asm-cris/arch-v32/hwregs/strcop.h | 57 - include/asm-cris/arch-v32/hwregs/strcop_defs.h | 109 - include/asm-cris/arch-v32/hwregs/strmux_defs.h | 127 - include/asm-cris/arch-v32/hwregs/supp_reg.h | 78 - include/asm-cris/arch-v32/intmem.h | 9 - include/asm-cris/arch-v32/io.h | 136 - include/asm-cris/arch-v32/irq.h | 124 - include/asm-cris/arch-v32/mach-a3/arbiter.h | 34 - include/asm-cris/arch-v32/mach-a3/dma.h | 31 - .../arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h | 164 - .../arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h | 266 - .../arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h | 849 --- .../arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h | 572 -- .../arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h | 337 - .../arch-v32/mach-a3/hwregs/asm/reg_map_asm.h | 99 - .../arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h | 228 - .../asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h | 159 - .../asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h | 281 - .../asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h | 837 --- .../asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h | 46 - .../arch-v32/mach-a3/hwregs/intr_vect_defs.h | 341 - .../mach-a3/hwregs/iop/asm/iop_reg_space_asm.h | 31 - .../mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h | 109 - .../mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h | 276 - .../mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h | 739 -- .../mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h | 950 --- .../mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h | 1086 --- .../mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h | 523 -- .../mach-a3/hwregs/iop/asm/iop_version_defs_asm.h | 61 - .../arch-v32/mach-a3/hwregs/iop/iop_reg_space.h | 31 - .../arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h | 141 - .../arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h | 231 - .../arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h | 725 -- .../arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h | 522 -- .../arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h | 648 -- .../arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h | 441 -- .../arch-v32/mach-a3/hwregs/iop/iop_version_defs.h | 96 - .../arch-v32/mach-a3/hwregs/l2cache_defs.h | 142 - .../arch-v32/mach-a3/hwregs/marb_bar_defs.h | 482 -- .../arch-v32/mach-a3/hwregs/marb_foo_defs.h | 626 -- .../asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h | 312 - .../asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h | 371 - include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h | 103 - .../asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h | 120 - .../asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h | 265 - include/asm-cris/arch-v32/mach-a3/memmap.h | 10 - include/asm-cris/arch-v32/mach-a3/pinmux.h | 45 - include/asm-cris/arch-v32/mach-a3/startup.inc | 60 - include/asm-cris/arch-v32/mach-fs/arbiter.h | 28 - .../mach-fs/hwregs/asm/bif_core_defs_asm.h | 319 - .../arch-v32/mach-fs/hwregs/asm/config_defs_asm.h | 131 - .../arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h | 276 - .../arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h | 632 -- .../arch-v32/mach-fs/hwregs/asm/reg_map_asm.h | 96 - .../arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h | 229 - .../arch-v32/mach-fs/hwregs/bif_core_defs.h | 284 - .../arch-v32/mach-fs/hwregs/bif_dma_defs.h | 473 -- .../arch-v32/mach-fs/hwregs/bif_slave_defs.h | 249 - .../asm-cris/arch-v32/mach-fs/hwregs/config_defs.h | 142 - .../asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h | 295 - .../asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h | 41 - .../arch-v32/mach-fs/hwregs/intr_vect_defs.h | 228 - .../arch-v32/mach-fs/hwregs/marb_bp_defs.h | 205 - .../asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h | 475 -- .../asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h | 357 - include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h | 104 - .../asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h | 127 - .../asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h | 266 - include/asm-cris/arch-v32/mach-fs/pinmux.h | 38 - include/asm-cris/arch-v32/mach-fs/startup.inc | 77 - include/asm-cris/arch-v32/memmap.h | 24 - include/asm-cris/arch-v32/mmu.h | 111 - include/asm-cris/arch-v32/offset.h | 35 - include/asm-cris/arch-v32/page.h | 27 - include/asm-cris/arch-v32/pgtable.h | 9 - include/asm-cris/arch-v32/pinmux.h | 40 - include/asm-cris/arch-v32/processor.h | 59 - include/asm-cris/arch-v32/ptrace.h | 118 - include/asm-cris/arch-v32/spinlock.h | 129 - include/asm-cris/arch-v32/system.h | 69 - include/asm-cris/arch-v32/thread_info.h | 13 - include/asm-cris/arch-v32/timex.h | 31 - include/asm-cris/arch-v32/tlb.h | 14 - include/asm-cris/arch-v32/uaccess.h | 748 -- include/asm-cris/arch-v32/unistd.h | 155 - include/asm-cris/arch-v32/user.h | 41 - include/asm-cris/atomic.h | 164 - include/asm-cris/auxvec.h | 4 - include/asm-cris/axisflashmap.h | 61 - include/asm-cris/bitops.h | 166 - include/asm-cris/bug.h | 4 - include/asm-cris/bugs.h | 21 - include/asm-cris/byteorder.h | 27 - include/asm-cris/cache.h | 6 - include/asm-cris/cacheflush.h | 31 - include/asm-cris/checksum.h | 83 - include/asm-cris/cputime.h | 6 - include/asm-cris/current.h | 15 - include/asm-cris/delay.h | 27 - include/asm-cris/device.h | 7 - include/asm-cris/div64.h | 1 - include/asm-cris/dma-mapping.h | 170 - include/asm-cris/dma.h | 21 - include/asm-cris/elf.h | 93 - include/asm-cris/emergency-restart.h | 6 - include/asm-cris/errno.h | 6 - include/asm-cris/eshlibld.h | 113 - include/asm-cris/ethernet.h | 21 - include/asm-cris/etraxgpio.h | 179 - include/asm-cris/etraxi2c.h | 36 - include/asm-cris/fasttimer.h | 47 - include/asm-cris/fb.h | 12 - include/asm-cris/fcntl.h | 1 - include/asm-cris/futex.h | 6 - include/asm-cris/hardirq.h | 27 - include/asm-cris/hw_irq.h | 5 - include/asm-cris/io.h | 154 - include/asm-cris/ioctl.h | 1 - include/asm-cris/ioctls.h | 91 - include/asm-cris/ipcbuf.h | 29 - include/asm-cris/irq.h | 13 - include/asm-cris/irq_regs.h | 1 - include/asm-cris/kdebug.h | 1 - include/asm-cris/kmap_types.h | 25 - include/asm-cris/linkage.h | 6 - include/asm-cris/local.h | 1 - include/asm-cris/mman.h | 19 - include/asm-cris/mmu.h | 10 - include/asm-cris/mmu_context.h | 26 - include/asm-cris/module.h | 9 - include/asm-cris/msgbuf.h | 33 - include/asm-cris/mutex.h | 9 - include/asm-cris/page.h | 74 - include/asm-cris/param.h | 23 - include/asm-cris/pci.h | 68 - include/asm-cris/percpu.h | 6 - include/asm-cris/pgalloc.h | 58 - include/asm-cris/pgtable.h | 299 - include/asm-cris/poll.h | 1 - include/asm-cris/posix_types.h | 66 - include/asm-cris/processor.h | 75 - include/asm-cris/ptrace.h | 16 - include/asm-cris/resource.h | 6 - include/asm-cris/rs485.h | 20 - include/asm-cris/rtc.h | 107 - include/asm-cris/scatterlist.h | 23 - include/asm-cris/sections.h | 7 - include/asm-cris/segment.h | 8 - include/asm-cris/sembuf.h | 25 - include/asm-cris/setup.h | 6 - include/asm-cris/shmbuf.h | 42 - include/asm-cris/shmparam.h | 8 - include/asm-cris/sigcontext.h | 24 - include/asm-cris/siginfo.h | 6 - include/asm-cris/signal.h | 163 - include/asm-cris/smp.h | 11 - include/asm-cris/socket.h | 61 - include/asm-cris/sockios.h | 13 - include/asm-cris/spinlock.h | 1 - include/asm-cris/stat.h | 81 - include/asm-cris/statfs.h | 6 - include/asm-cris/string.h | 14 - include/asm-cris/sync_serial.h | 107 - include/asm-cris/system.h | 88 - include/asm-cris/termbits.h | 234 - include/asm-cris/termios.h | 91 - include/asm-cris/thread_info.h | 106 - include/asm-cris/timex.h | 24 - include/asm-cris/tlb.h | 19 - include/asm-cris/tlbflush.h | 48 - include/asm-cris/topology.h | 6 - include/asm-cris/types.h | 30 - include/asm-cris/uaccess.h | 404 -- include/asm-cris/ucontext.h | 12 - include/asm-cris/unaligned.h | 13 - include/asm-cris/unistd.h | 374 - include/asm-cris/user.h | 52 - 310 files changed, 64047 deletions(-) delete mode 100644 include/asm-cris/Kbuild delete mode 100644 include/asm-cris/arch-v10/Kbuild delete mode 100644 include/asm-cris/arch-v10/atomic.h delete mode 100644 include/asm-cris/arch-v10/bitops.h delete mode 100644 include/asm-cris/arch-v10/bug.h delete mode 100644 include/asm-cris/arch-v10/byteorder.h delete mode 100644 include/asm-cris/arch-v10/cache.h delete mode 100644 include/asm-cris/arch-v10/checksum.h delete mode 100644 include/asm-cris/arch-v10/delay.h delete mode 100644 include/asm-cris/arch-v10/dma.h delete mode 100644 include/asm-cris/arch-v10/elf.h delete mode 100644 include/asm-cris/arch-v10/io.h delete mode 100644 include/asm-cris/arch-v10/io_interface_mux.h delete mode 100644 include/asm-cris/arch-v10/irq.h delete mode 100644 include/asm-cris/arch-v10/memmap.h delete mode 100644 include/asm-cris/arch-v10/mmu.h delete mode 100644 include/asm-cris/arch-v10/offset.h delete mode 100644 include/asm-cris/arch-v10/page.h delete mode 100644 include/asm-cris/arch-v10/pgtable.h delete mode 100644 include/asm-cris/arch-v10/processor.h delete mode 100644 include/asm-cris/arch-v10/ptrace.h delete mode 100644 include/asm-cris/arch-v10/sv_addr.agh delete mode 100644 include/asm-cris/arch-v10/sv_addr_ag.h delete mode 100644 include/asm-cris/arch-v10/svinto.h delete mode 100644 include/asm-cris/arch-v10/system.h delete mode 100644 include/asm-cris/arch-v10/thread_info.h delete mode 100644 include/asm-cris/arch-v10/timex.h delete mode 100644 include/asm-cris/arch-v10/tlb.h delete mode 100644 include/asm-cris/arch-v10/uaccess.h delete mode 100644 include/asm-cris/arch-v10/unistd.h delete mode 100644 include/asm-cris/arch-v10/user.h delete mode 100644 include/asm-cris/arch-v32/Kbuild delete mode 100644 include/asm-cris/arch-v32/arbiter.h delete mode 100644 include/asm-cris/arch-v32/atomic.h delete mode 100644 include/asm-cris/arch-v32/bitops.h delete mode 100644 include/asm-cris/arch-v32/bug.h delete mode 100644 include/asm-cris/arch-v32/byteorder.h delete mode 100644 include/asm-cris/arch-v32/cache.h delete mode 100644 include/asm-cris/arch-v32/checksum.h delete mode 100644 include/asm-cris/arch-v32/cryptocop.h delete mode 100644 include/asm-cris/arch-v32/delay.h delete mode 100644 include/asm-cris/arch-v32/dma.h delete mode 100644 include/asm-cris/arch-v32/elf.h delete mode 100644 include/asm-cris/arch-v32/hwregs/Makefile delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/intr_vect.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/ata_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/bif_core_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/bif_dma_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/bif_slave_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/config_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/cpu_vect.h delete mode 100644 include/asm-cris/arch-v32/hwregs/dma.h delete mode 100644 include/asm-cris/arch-v32/hwregs/dma_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/eth_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/extmem_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/gio_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/intr_vect.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/Makefile delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/marb_bp_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/marb_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/pinmux_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/reg_rdwr.h delete mode 100644 include/asm-cris/arch-v32/hwregs/rt_trace_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/ser_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/sser_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/strcop.h delete mode 100644 include/asm-cris/arch-v32/hwregs/strcop_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/strmux_defs.h delete mode 100644 include/asm-cris/arch-v32/hwregs/supp_reg.h delete mode 100644 include/asm-cris/arch-v32/intmem.h delete mode 100644 include/asm-cris/arch-v32/io.h delete mode 100644 include/asm-cris/arch-v32/irq.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/arbiter.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/dma.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h delete mode 100644 include/asm-cris/arch-v32/mach-a3/hwreg