diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 18:59:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 18:59:38 -0400 |
commit | fa2af6e4fe0c4d2f8875d42625b25675e8584010 (patch) | |
tree | ef9a92949858ab763aa1bfda7cb11a5f7b84d123 /arch/tile/include/asm/processor.h | |
parent | 109b9b0408e5f1dd327a44f446841a9fbe0bcd83 (diff) | |
parent | 1fcb78e9da714d96f65edd37b29dae3b1f7df508 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull tile updates from Chris Metcalf:
"These changes cover a range of new arch/tile features and
optimizations. They've been through LKML review and on linux-next for
a month or so. There's also one bug-fix that just missed 3.4, which
I've marked for stable."
Fixed up trivial conflict in arch/tile/Kconfig (new added tile Kconfig
entries clashing with the generic timer/clockevents changes).
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: default to tilegx_defconfig for ARCH=tile
tile: fix bug where fls(0) was not returning 0
arch/tile: mark TILEGX as not EXPERIMENTAL
tile/mm/fault.c: Port OOM changes to handle_page_fault
arch/tile: add descriptive text if the kernel reports a bad trap
arch/tile: allow querying cpu module information from the hypervisor
arch/tile: fix hardwall for tilegx and generalize for idn and ipi
arch/tile: support multiple huge page sizes dynamically
mm: add new arch_make_huge_pte() method for tile support
arch/tile: support kexec() for tilegx
arch/tile: support <asm/cachectl.h> header for cacheflush() syscall
arch/tile: Allow tilegx to build with either 16K or 64K page size
arch/tile: optimize get_user/put_user and friends
arch/tile: support building big-endian kernel
arch/tile: allow building Linux with transparent huge pages enabled
arch/tile: use interrupt critical sections less
Diffstat (limited to 'arch/tile/include/asm/processor.h')
-rw-r--r-- | arch/tile/include/asm/processor.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/tile/include/asm/processor.h b/arch/tile/include/asm/processor.h index 15cd8a4a06ce..8c4dd9ff91eb 100644 --- a/arch/tile/include/asm/processor.h +++ b/arch/tile/include/asm/processor.h | |||
@@ -76,6 +76,17 @@ struct async_tlb { | |||
76 | 76 | ||
77 | #ifdef CONFIG_HARDWALL | 77 | #ifdef CONFIG_HARDWALL |
78 | struct hardwall_info; | 78 | struct hardwall_info; |
79 | struct hardwall_task { | ||
80 | /* Which hardwall is this task tied to? (or NULL if none) */ | ||
81 | struct hardwall_info *info; | ||
82 | /* Chains this task into the list at info->task_head. */ | ||
83 | struct list_head list; | ||
84 | }; | ||
85 | #ifdef __tilepro__ | ||
86 | #define HARDWALL_TYPES 1 /* udn */ | ||
87 | #else | ||
88 | #define HARDWALL_TYPES 3 /* udn, idn, and ipi */ | ||
89 | #endif | ||
79 | #endif | 90 | #endif |
80 | 91 | ||
81 | struct thread_struct { | 92 | struct thread_struct { |
@@ -116,10 +127,8 @@ struct thread_struct { | |||
116 | unsigned long dstream_pf; | 127 | unsigned long dstream_pf; |
117 | #endif | 128 | #endif |
118 | #ifdef CONFIG_HARDWALL | 129 | #ifdef CONFIG_HARDWALL |
119 | /* Is this task tied to an activated hardwall? */ | 130 | /* Hardwall information for various resources. */ |
120 | struct hardwall_info *hardwall; | 131 | struct hardwall_task hardwall[HARDWALL_TYPES]; |
121 | /* Chains this task into the list at hardwall->list. */ | ||
122 | struct list_head hardwall_list; | ||
123 | #endif | 132 | #endif |
124 | #if CHIP_HAS_TILE_DMA() | 133 | #if CHIP_HAS_TILE_DMA() |
125 | /* Async DMA TLB fault information */ | 134 | /* Async DMA TLB fault information */ |