blob: c092f720bd60ffa866e8a8cf5c85402e7cda1b62 [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[];
7
8extern int early_is_k8_nb(u32 value);
9extern struct pci_dev **k8_northbridges;
10extern int num_k8_northbridges;
11extern int cache_k8_northbridges(void);
12extern void k8_flush_garts(void);
David Rientjes8ee2deb2009-09-25 15:20:00 -070013extern int k8_get_nodes(struct bootnode *nodes);
14extern int k8_numa_init(unsigned long start_pfn, unsigned long end_pfn);
15extern int k8_scan_nodes(void);
Andi Kleena32073b2006-06-26 13:56:40 +020016
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020017#ifdef CONFIG_K8_NB
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053018static inline struct pci_dev *node_to_k8_nb_misc(int node)
19{
20 return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL;
21}
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020022#else
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053023static inline struct pci_dev *node_to_k8_nb_misc(int node)
24{
25 return NULL;
26}
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020027#endif
28
29
H. Peter Anvin1965aae2008-10-22 22:26:29 -070030#endif /* _ASM_X86_K8_H */