blob: af00bd1d208934941f00ba7e911c20dd868a3f2b [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_K8_H
2#define _ASM_X86_K8_H
Andi Kleena32073b2006-06-26 13:56:40 +02003
4#include <linux/pci.h>
5
6extern struct pci_device_id k8_nb_ids[];
Randy Dunlap04201012009-10-28 16:09:55 -07007struct bootnode;
Andi Kleena32073b2006-06-26 13:56:40 +02008
9extern int early_is_k8_nb(u32 value);
10extern struct pci_dev **k8_northbridges;
11extern int num_k8_northbridges;
12extern int cache_k8_northbridges(void);
13extern void k8_flush_garts(void);
David Rientjes8ee2deb2009-09-25 15:20:00 -070014extern int k8_get_nodes(struct bootnode *nodes);
15extern int k8_numa_init(unsigned long start_pfn, unsigned long end_pfn);
16extern int k8_scan_nodes(void);
Andi Kleena32073b2006-06-26 13:56:40 +020017
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020018#ifdef CONFIG_K8_NB
Borislav Petkovade029e2010-04-24 09:56:53 +020019extern int num_k8_northbridges;
20
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053021static inline struct pci_dev *node_to_k8_nb_misc(int node)
22{
23 return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL;
24}
Borislav Petkovade029e2010-04-24 09:56:53 +020025
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020026#else
Borislav Petkovade029e2010-04-24 09:56:53 +020027#define num_k8_northbridges 0
28
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053029static inline struct pci_dev *node_to_k8_nb_misc(int node)
30{
31 return NULL;
32}
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020033#endif
34
35
H. Peter Anvin1965aae2008-10-22 22:26:29 -070036#endif /* _ASM_X86_K8_H */