blob: f70e60071fe80039e4d439cca6667f65729bcbd5 [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
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053019static inline struct pci_dev *node_to_k8_nb_misc(int node)
20{
21 return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL;
22}
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020023#else
Jaswinder Singh Rajputb2065252009-04-14 23:04:37 +053024static inline struct pci_dev *node_to_k8_nb_misc(int node)
25{
26 return NULL;
27}
Andreas Herrmannafd9fce2009-04-09 15:16:17 +020028#endif
29
30
H. Peter Anvin1965aae2008-10-22 22:26:29 -070031#endif /* _ASM_X86_K8_H */