x86: Adjust section placement in AMD northbridge related code
amd_nb_misc_ids[] can live in .rodata, and enable_pci_io_ecs() can be moved into .cpuinit.text. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Hans Rosenfeld <hans.rosenfeld@amd.com> Cc: Andreas Herrmann <Andreas.Herrmann3@amd.com> Cc: Borislav Petkov <borislav.petkov@amd.com> LKML-Reference: <4D525DDD0200007800030F07@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -9,7 +9,7 @@ struct amd_nb_bus_dev_range {
|
|||||||
u8 dev_limit;
|
u8 dev_limit;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct pci_device_id amd_nb_misc_ids[];
|
extern const struct pci_device_id amd_nb_misc_ids[];
|
||||||
extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
|
extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
|
||||||
struct bootnode;
|
struct bootnode;
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
static u32 *flush_words;
|
static u32 *flush_words;
|
||||||
|
|
||||||
struct pci_device_id amd_nb_misc_ids[] = {
|
const struct pci_device_id amd_nb_misc_ids[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_15H_NB_MISC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_15H_NB_MISC) },
|
||||||
@@ -36,7 +36,7 @@ struct amd_northbridge_info amd_northbridges;
|
|||||||
EXPORT_SYMBOL(amd_northbridges);
|
EXPORT_SYMBOL(amd_northbridges);
|
||||||
|
|
||||||
static struct pci_dev *next_northbridge(struct pci_dev *dev,
|
static struct pci_dev *next_northbridge(struct pci_dev *dev,
|
||||||
struct pci_device_id *ids)
|
const struct pci_device_id *ids)
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
|
dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
|
||||||
@@ -107,8 +107,9 @@ EXPORT_SYMBOL_GPL(amd_cache_northbridges);
|
|||||||
they're useless anyways */
|
they're useless anyways */
|
||||||
int __init early_is_amd_nb(u32 device)
|
int __init early_is_amd_nb(u32 device)
|
||||||
{
|
{
|
||||||
struct pci_device_id *id;
|
const struct pci_device_id *id;
|
||||||
u32 vendor = device & 0xffff;
|
u32 vendor = device & 0xffff;
|
||||||
|
|
||||||
device >>= 16;
|
device >>= 16;
|
||||||
for (id = amd_nb_misc_ids; id->vendor; id++)
|
for (id = amd_nb_misc_ids; id->vendor; id++)
|
||||||
if (vendor == id->vendor && device == id->device)
|
if (vendor == id->vendor && device == id->device)
|
||||||
|
@@ -350,7 +350,7 @@ static int __init early_fill_mp_bus_info(void)
|
|||||||
|
|
||||||
#define ENABLE_CF8_EXT_CFG (1ULL << 46)
|
#define ENABLE_CF8_EXT_CFG (1ULL << 46)
|
||||||
|
|
||||||
static void enable_pci_io_ecs(void *unused)
|
static void __cpuinit enable_pci_io_ecs(void *unused)
|
||||||
{
|
{
|
||||||
u64 reg;
|
u64 reg;
|
||||||
rdmsrl(MSR_AMD64_NB_CFG, reg);
|
rdmsrl(MSR_AMD64_NB_CFG, reg);
|
||||||
|
Reference in New Issue
Block a user