~ubuntu-branches/ubuntu/quantal/linux-lowlatency/quantal

« back to all changes in this revision

Viewing changes to arch/x86/include/asm/numachip/numachip_csr.h

  • Committer: Package Import Robot
  • Author(s): Luke Yelavich, Andy Whitcroft, Chase Douglas, Eugeni Dodonov, Ingo Molnar, Johannes Berg, John Johansen, Kees Cook, Leann Ogasawara, Robert Hooker, Seth Heasley, Tim Gardner, Luke Yelavich, Upstream Kernel Changes
  • Date: 2012-03-09 10:21:12 UTC
  • Revision ID: package-import@ubuntu.com-20120309102112-s1abu8w051stx2rl
Tags: 3.2.0-18.26
[ Andy Whitcroft ]

* [Config] clean up the human consumable package descriptions
* [Config] fix generic flavour description
* [Config] clean up linux-tools package descriptions
  - LP: #593107
* deviations -- note the source of the Hyper-V updates
* SAUCE: ata_piix: defer to the Hyper-V drivers by default
  - LP: #929545
* ubuntu: AUFS -- adapt to the new changelog handling
* ubuntu: AUFS -- sort out the relative header paths
* ubuntu: AUFS -- update to d266b0c5d0693d6383976ee54b9e2c0fa9a3f5b0

[ Chase Douglas ]

* SAUCE: (drop after 3.3) HID: hid-magicmouse: Add pointer and buttonpad
  properties for Magic Trackpad
* SAUCE: Input: synaptics - add second variant of two-button clickpad
* SAUCE: Input: synapticss - Set buttonpad property for all clickpads

[ Eugeni Dodonov ]

* SAUCE: drm/i915: do not enable RC6p on Sandy Bridge
* SAUCE: drm/i915: fix operator precedence when enabling RC6p

[ Ingo Molnar ]

* ubuntu: nx-emu - i386: NX emulation

[ Johannes Berg ]

* SAUCE: iwlwifi: fix key removal
  - LP: #911059

[ John Johansen ]

* Revert "SAUCE: AppArmor: Fix unpack of network tables."
* Revert "SAUCE: AppArmor: Allow dfa backward compatibility with broken
  userspace"
* SAUCE: AppArmor: Add mising end of structure test to caps unpacking
* SAUCE: AppArmor: Fix dropping of allowed operations that are force
  audited
* SAUCE: AppArmor: Fix underflow in xindex calculation
* SAUCE: AppArmor: fix mapping of META_READ to audit and quiet flags
* SAUCE: AppArmor: Fix the error case for chroot relative path name
  lookup
  - LP: #925028
* SAUCE: AppArmor: Retrieve the dentry_path for error reporting when path
  lookup fails
  - LP: #925028
* SAUCE: AppArmor: Minor cleanup of d_namespace_path to consolidate error
  handling
* SAUCE: AppArmor: Update dfa matching routines.
* SAUCE: AppArmor: Move path failure information into aa_get_name and
  rename
* SAUCE: AppArmor: Make chroot relative the default path lookup type
* SAUCE: AppArmor: Add ability to load extended policy
* SAUCE: AppArmor: basic networking rules
* SAUCE: AppArmor: Add profile introspection file to interface
* SAUCE: AppArmor: Add the ability to mediate mount
* SAUCE: AppArmor: Add mount information to apparmorfs

[ Kees Cook ]

* SAUCE: (drop after 3.3) security: create task_free security callback
* SAUCE: (drop after 3.3) security: Yama LSM
* SAUCE: (drop after 3.3) Yama: add PR_SET_PTRACER_ANY
* SAUCE: Yama: add link restrictions
* SAUCE: security: unconditionally chain to Yama LSM
* SAUCE: AppArmor: refactor securityfs to use structures
* SAUCE: AppArmor: add initial "features" directory to securityfs
* SAUCE: AppArmor: add "file" details to securityfs
* SAUCE: AppArmor: export known rlimit names/value mappings in securityfs
* ubuntu: Yama - LSM hooks
* ubuntu: Yama - add ptrace relationship tracking interface
* ubuntu: Yama - unconditionally chain to Yama LSM

[ Leann Ogasawara ]

* Revert "[Config] Enable CONFIG_NVRAM=m"
  - LP: #942193
* Drop ndiswrapper
* Ubuntu-3.2.0-17.26
* Ubuntu-3.2.0-17.27
* Rebase to v3.2.7
* [Config] Enable CONFIG_USB_SERIAL_QUATECH2=m on arm and powerpc
* [Config] Enable CONFIG_USB_SERIAL_QUATECH_USB2=m on arm and powerpc
* [Config] Add CONFIG_NVRAM to config enforcer
  - LP: #942193
* [Config] Enable CONFIG_SCSI_IBMVSCSI=m for powerpc
  - LP: #943090
* [Config] Enable CONFIG_SCSI_IPR=m for powerpc
  - LP: #943090
* provide ipmi udeb
  - LP: #942926
* Rebase to v3.2.9
* Add ibmveth to d-i/modules-powerpc/nic-modules
  - LP: #712188
* [Config] Enable CONFIG_SCSI_IBMVFC=m for powerpc
  - LP: #712188
* Add ibmvfc and ibmvscsic to d-i/modules-powerpc/nic-modules
  - LP: #712188
* Ubuntu-3.2.0-18.28

[ Robert Hooker ]

* SAUCE: drm/i915: Enable RC6 by default on sandybridge.

[ Seth Heasley ]

* SAUCE: ALSA: hda - Add Lynx Point HD Audio Controller DeviceIDs
  - LP: #900119
* SAUCE: ahci: AHCI-mode SATA patch for Intel Lynx Point DeviceIDs
  - LP: #900119
* SAUCE: ata_piix: IDE-mode SATA patch for Intel Lynx Point DeviceIDs
  - LP: #900119
* SAUCE: i2c-i801: Add device IDs for Intel Lynx Point
  - LP: #900119

[ Tim Gardner ]

* dropped hv_mouse
* [Config] CONFIG_X86_NUMACHIP=y
* [Config] updateconfigs after apparmor patches
* [Config] Added hv_netvsc and hv_storvsc to -virtual
  - LP: #942256
* [Config] Enable aufs
  - LP: #943119
* SAUCE: Made kernel irq-threaded by default

[ Luke Yelavich ]

* UBUNTU: Depend on crda (>=1.1.1-1ubuntu2) | wireless-crda as per precise
  mainline packaging

[ Upstream Kernel Changes ]

* Revert "Revert "ath9k_hw: fix interpretation of the rx KeyMiss flag""
* Revert "AppArmor: compatibility patch for v5 interface"
* Revert "AppArmor: compatibility patch for v5 network controll"
* Staging: hv: vmbus: Support building the vmbus driver as part of the
  kernel
* hv: Add Kconfig menu entry
* Drivers: hv: Fix a memory leak
* Drivers: hv: Make the vmbus driver unloadable
* Drivers: hv: Get rid of an unnecessary check in hv.c
* Staging: hv: mousevsc: Make boolean states boolean
* Staging: hv: mousevsc: Inline the code for mousevsc_on_device_add()
* Staging: hv: mousevsc: Inline the code for reportdesc_callback()
* Staging: hv: mousevsc: Cleanup mousevsc_on_channel_callback()
* Staging: hv: mousevsc: Add a new line to a debug string
* Staging: hv: mousevsc: Get rid of unnecessary include files
* Staging: hv: mousevsc: Address some style issues
* Staging: hv: mousevsc: Add a check to prevent memory corruption
* Staging: hv: mousevsc: Use the KBUILD_MODNAME macro
* Staging: hv: storvsc: Use mempools to allocate struct
  storvsc_cmd_request
* Staging: hv: storvsc: Cleanup error handling in the probe function
* Staging: hv: storvsc: Fixup the error when processing SET_WINDOW
  command
* Staging: hv: storvsc: Fix error handling storvsc_host_reset()
* Staging: hv: storvsc: Use the accessor function shost_priv()
* Staging: hv: storvsc: Use the unlocked version queuecommand
* Staging: hv: storvsc: use the macro KBUILD_MODNAME
* Staging: hv: storvsc: Get rid of an unnecessary forward declaration
* Staging: hv: storvsc: Upgrade the vmstor protocol version
* Staging: hv: storvsc: Support hot add of scsi disks
* Staging: hv: storvsc: Support hot-removing of scsi devices
* staging: hv: Use kmemdup rather than duplicating its implementation
* staging: hv: move hv_netvsc out of staging area
* Staging: hv: mousevsc: Properly add the hid device
* Staging: hv: storvsc: Disable clustering
* Staging: hv: storvsc: Cleanup storvsc_device_alloc()
* Staging: hv: storvsc: Fix a bug in storvsc_command_completion()
* Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer()
* Staging: hv: storvsc: Implement per device memory pools
* Staging: hv: remove hv_mouse driver as it's now in the hid directory
* Staging: hv: update TODO file
* Staging: hv: storvsc: Fix a bug in create_bounce_buffer()
* net/hyperv: Fix long lines in netvsc.c
* net/hyperv: Add support for promiscuous mode setting
* net/hyperv: Fix the stop/wake queue mechanism
* net/hyperv: Remove unnecessary kmap_atomic in netvsc driver
* net/hyperv: Add NETVSP protocol version negotiation
* net/hyperv: Add support for jumbo frame up to 64KB
* net/hyperv: fix possible memory leak in do_set_multicast()
* net/hyperv: rx_bytes should account the ether header size
* net/hyperv: fix the issue that large packets be dropped under bridge
* net/hyperv: Use netif_tx_disable() instead of netif_stop_queue() when
  necessary
* net/hyperv: Fix the page buffer when an RNDIS message goes beyond page
  boundary
* HID: Move the hid-hyperv driver out of staging
* HID: hv_mouse: Properly add the hid device
* HID: hyperv: Properly disconnect the input device
* Staging: hv: storvsc: Cleanup some comments
* Staging: hv: storvsc: Cleanup storvsc_probe()
* Staging: hv: storvsc: Cleanup storvsc_queuecommand()
* Staging: hv: storvsc: Introduce defines for srb status codes
* Staging: hv: storvsc: Cleanup storvsc_host_reset_handler()
* Staging: hv: storvsc: Move and cleanup storvsc_remove()
* Staging: hv: storvsc: Add a comment to explain life-cycle management
* Staging: hv: storvsc: Get rid of the on_io_completion in
  hv_storvsc_request
* Staging: hv: storvsc: Rename the context field in hv_storvsc_request
* Staging: hv: storvsc: Miscellaneous cleanup of storvsc driver
* Staging: hv: storvsc: Cleanup the code for generating protocol version
* Staging: hv: storvsc: Cleanup some protocol related constants
* Staging: hv: storvsc: Get rid of some unused defines
* Staging: hv: storvsc: Consolidate the request structure
* Staging: hv: storvsc: Consolidate all the wire protocol definitions
* Staging: hv: storvsc: Move the storage driver out of the staging area
* x86: Make flat_init_apic_ldr() available
* x86: Add x86_init platform override to fix up NUMA core numbering
* x86: Add NumaChip support
* x86/numachip: Drop unnecessary conflict with EDAC
* Input: bcm5974 - set BUTTONPAD property
* Ubuntu: Rebase to v3.2.8
* ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR
  - LP: #898503
* Add low latency source

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * This file is subject to the terms and conditions of the GNU General Public
 
3
 * License.  See the file "COPYING" in the main directory of this archive
 
4
 * for more details.
 
5
 *
 
6
 * Numascale NumaConnect-Specific Header file
 
7
 *
 
8
 * Copyright (C) 2011 Numascale AS. All rights reserved.
 
9
 *
 
10
 * Send feedback to <support@numascale.com>
 
11
 *
 
12
 */
 
13
 
 
14
#ifndef _ASM_X86_NUMACHIP_NUMACHIP_CSR_H
 
15
#define _ASM_X86_NUMACHIP_NUMACHIP_CSR_H
 
16
 
 
17
#include <linux/numa.h>
 
18
#include <linux/percpu.h>
 
19
#include <linux/io.h>
 
20
#include <linux/swab.h>
 
21
#include <asm/types.h>
 
22
#include <asm/processor.h>
 
23
 
 
24
#define CSR_NODE_SHIFT          16
 
25
#define CSR_NODE_BITS(p)        (((unsigned long)(p)) << CSR_NODE_SHIFT)
 
26
#define CSR_NODE_MASK           0x0fff          /* 4K nodes */
 
27
 
 
28
/* 32K CSR space, b15 indicates geo/non-geo */
 
29
#define CSR_OFFSET_MASK 0x7fffUL
 
30
 
 
31
/* Global CSR space covers all 4K possible nodes with 64K CSR space per node */
 
32
#define NUMACHIP_GCSR_BASE      0x3fff00000000ULL
 
33
#define NUMACHIP_GCSR_LIM       0x3fff0fffffffULL
 
34
#define NUMACHIP_GCSR_SIZE      (NUMACHIP_GCSR_LIM - NUMACHIP_GCSR_BASE + 1)
 
35
 
 
36
/*
 
37
 * Local CSR space starts in global CSR space with "nodeid" = 0xfff0, however
 
38
 * when using the direct mapping on x86_64, both start and size needs to be
 
39
 * aligned with PMD_SIZE which is 2M
 
40
 */
 
41
#define NUMACHIP_LCSR_BASE      0x3ffffe000000ULL
 
42
#define NUMACHIP_LCSR_LIM       0x3fffffffffffULL
 
43
#define NUMACHIP_LCSR_SIZE      (NUMACHIP_LCSR_LIM - NUMACHIP_LCSR_BASE + 1)
 
44
 
 
45
static inline void *gcsr_address(int node, unsigned long offset)
 
46
{
 
47
        return __va(NUMACHIP_GCSR_BASE | (1UL << 15) |
 
48
                CSR_NODE_BITS(node & CSR_NODE_MASK) | (offset & CSR_OFFSET_MASK));
 
49
}
 
50
 
 
51
static inline void *lcsr_address(unsigned long offset)
 
52
{
 
53
        return __va(NUMACHIP_LCSR_BASE | (1UL << 15) |
 
54
                CSR_NODE_BITS(0xfff0) | (offset & CSR_OFFSET_MASK));
 
55
}
 
56
 
 
57
static inline unsigned int read_gcsr(int node, unsigned long offset)
 
58
{
 
59
        return swab32(readl(gcsr_address(node, offset)));
 
60
}
 
61
 
 
62
static inline void write_gcsr(int node, unsigned long offset, unsigned int val)
 
63
{
 
64
        writel(swab32(val), gcsr_address(node, offset));
 
65
}
 
66
 
 
67
static inline unsigned int read_lcsr(unsigned long offset)
 
68
{
 
69
        return swab32(readl(lcsr_address(offset)));
 
70
}
 
71
 
 
72
static inline void write_lcsr(unsigned long offset, unsigned int val)
 
73
{
 
74
        writel(swab32(val), lcsr_address(offset));
 
75
}
 
76
 
 
77
/* ========================================================================= */
 
78
/*                   CSR_G0_STATE_CLEAR                                      */
 
79
/* ========================================================================= */
 
80
 
 
81
#define CSR_G0_STATE_CLEAR (0x000 + (0 << 12))
 
82
union numachip_csr_g0_state_clear {
 
83
        unsigned int v;
 
84
        struct numachip_csr_g0_state_clear_s {
 
85
                unsigned int _state:2;
 
86
                unsigned int _rsvd_2_6:5;
 
87
                unsigned int _lost:1;
 
88
                unsigned int _rsvd_8_31:24;
 
89
        } s;
 
90
};
 
91
 
 
92
/* ========================================================================= */
 
93
/*                   CSR_G0_NODE_IDS                                         */
 
94
/* ========================================================================= */
 
95
 
 
96
#define CSR_G0_NODE_IDS (0x008 + (0 << 12))
 
97
union numachip_csr_g0_node_ids {
 
98
        unsigned int v;
 
99
        struct numachip_csr_g0_node_ids_s {
 
100
                unsigned int _initialid:16;
 
101
                unsigned int _nodeid:12;
 
102
                unsigned int _rsvd_28_31:4;
 
103
        } s;
 
104
};
 
105
 
 
106
/* ========================================================================= */
 
107
/*                   CSR_G3_EXT_IRQ_GEN                                      */
 
108
/* ========================================================================= */
 
109
 
 
110
#define CSR_G3_EXT_IRQ_GEN (0x030 + (3 << 12))
 
111
union numachip_csr_g3_ext_irq_gen {
 
112
        unsigned int v;
 
113
        struct numachip_csr_g3_ext_irq_gen_s {
 
114
                unsigned int _vector:8;
 
115
                unsigned int _msgtype:3;
 
116
                unsigned int _index:5;
 
117
                unsigned int _destination_apic_id:16;
 
118
        } s;
 
119
};
 
120
 
 
121
/* ========================================================================= */
 
122
/*                   CSR_G3_EXT_IRQ_STATUS                                   */
 
123
/* ========================================================================= */
 
124
 
 
125
#define CSR_G3_EXT_IRQ_STATUS (0x034 + (3 << 12))
 
126
union numachip_csr_g3_ext_irq_status {
 
127
        unsigned int v;
 
128
        struct numachip_csr_g3_ext_irq_status_s {
 
129
                unsigned int _result:32;
 
130
        } s;
 
131
};
 
132
 
 
133
/* ========================================================================= */
 
134
/*                   CSR_G3_EXT_IRQ_DEST                                     */
 
135
/* ========================================================================= */
 
136
 
 
137
#define CSR_G3_EXT_IRQ_DEST (0x038 + (3 << 12))
 
138
union numachip_csr_g3_ext_irq_dest {
 
139
        unsigned int v;
 
140
        struct numachip_csr_g3_ext_irq_dest_s {
 
141
                unsigned int _irq:8;
 
142
                unsigned int _rsvd_8_31:24;
 
143
        } s;
 
144
};
 
145
 
 
146
/* ========================================================================= */
 
147
/*                   CSR_G3_NC_ATT_MAP_SELECT                                */
 
148
/* ========================================================================= */
 
149
 
 
150
#define CSR_G3_NC_ATT_MAP_SELECT (0x7fc + (3 << 12))
 
151
union numachip_csr_g3_nc_att_map_select {
 
152
        unsigned int v;
 
153
        struct numachip_csr_g3_nc_att_map_select_s {
 
154
                unsigned int _upper_address_bits:4;
 
155
                unsigned int _select_ram:4;
 
156
                unsigned int _rsvd_8_31:24;
 
157
        } s;
 
158
};
 
159
 
 
160
/* ========================================================================= */
 
161
/*                   CSR_G3_NC_ATT_MAP_SELECT_0-255                          */
 
162
/* ========================================================================= */
 
163
 
 
164
#define CSR_G3_NC_ATT_MAP_SELECT_0 (0x800 + (3 << 12))
 
165
 
 
166
#endif /* _ASM_X86_NUMACHIP_NUMACHIP_CSR_H */
 
167