Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
setup.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/kdev_t.h>
#include <linux/string.h>
#include <linux/screen_info.h>
#include <linux/console.h>
#include <linux/timex.h>
#include <linux/sched.h>
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/serial.h>
#include <linux/irq.h>
#include <linux/bootmem.h>
#include <linux/mmzone.h>
#include <linux/interrupt.h>
#include <linux/acpi.h>
#include <linux/compiler.h>
#include <linux/root_dev.h>
#include <linux/nodemask.h>
#include <linux/pm.h>
#include <linux/efi.h>
#include <asm/io.h>
#include <asm/sal.h>
#include <asm/machvec.h>
#include <asm/processor.h>
#include <asm/vga.h>
#include <asm/setup.h>
#include <asm/sn/arch.h>
#include <asm/sn/addrs.h>
#include <asm/sn/pda.h>
#include <asm/sn/nodepda.h>
#include <asm/sn/sn_cpuid.h>
#include <asm/sn/simulator.h>
#include <asm/sn/leds.h>
#include <asm/sn/bte.h>
#include <asm/sn/shub_mmr.h>
#include <asm/sn/clksupport.h>
#include <asm/sn/sn_sal.h>
#include <asm/sn/geo.h>
#include <asm/sn/sn_feature_sets.h>
#include "xtalk/xwidgetdev.h"
#include "xtalk/hubdev.h"
#include <asm/sn/klconfig.h>

Go to the source code of this file.

Data Structures

struct  hcdp_uart_desc
 
struct  pcdp
 
struct  pcdp_device_desc
 
struct  pcdp_interface_pci
 
struct  pcdp_vga_device
 

Macros

#define MAX_PHYS_MEMORY   (1UL << IA64_MAX_PHYS_BITS) /* Max physical address supported */
 
#define PCDP_PRIMARY_CONSOLE   0x01
 
#define PCDP_CONSOLE_INOUT   0x0
 
#define PCDP_CONSOLE_DEBUG   0x1
 
#define PCDP_CONSOLE_OUT   0x2
 
#define PCDP_CONSOLE_IN   0x3
 
#define PCDP_CONSOLE_TYPE_VGA   0x8
 
#define PCDP_CONSOLE_VGA   (PCDP_CONSOLE_TYPE_VGA | PCDP_CONSOLE_OUT)
 
#define PCDP_IF_PCI   1
 
#define PCDP_PCI_TRANS_IOPORT   0x02
 
#define PCDP_PCI_TRANS_MMIO   0x01
 

Functions

 DEFINE_PER_CPU (struct pda_s, pda_percpu)
 
void bte_init_node (nodepda_t *, cnodeid_t)
 
void sn_timer_init (void)
 
void snidle (int)
 
 EXPORT_SYMBOL (sn_rtc_cycles_per_second)
 
 DEFINE_PER_CPU (struct sn_hub_info_s, __sn_hub_info)
 
 EXPORT_PER_CPU_SYMBOL (__sn_hub_info)
 
 DEFINE_PER_CPU (short, __sn_cnodeid_to_nasid[MAX_COMPACT_NODES])
 
 EXPORT_PER_CPU_SYMBOL (__sn_cnodeid_to_nasid)
 
 DEFINE_PER_CPU (struct nodepda_s *, __sn_nodepda)
 
 EXPORT_PER_CPU_SYMBOL (__sn_nodepda)
 
 EXPORT_SYMBOL (sn_system_serial_number_string)
 
 EXPORT_SYMBOL (sn_partition_serial_number)
 
 EXPORT_SYMBOL (sn_partition_id)
 
 EXPORT_SYMBOL (sn_system_size)
 
 EXPORT_SYMBOL (sn_sharing_domain_size)
 
 EXPORT_SYMBOL (sn_coherency_id)
 
 EXPORT_SYMBOL (sn_region_size)
 
 EXPORT_SYMBOL (physical_node_map)
 
void __init early_sn_setup (void)
 
struct pcdp __attribute__ ((packed))
 
void __init sn_setup (char **cmdline_p)
 
void __cpuinit sn_cpu_init (void)
 
int nasid_slice_to_cpuid (int nasid, int slice)
 
int sn_prom_feature_available (int id)
 
void sn_kernel_launch_event (void)
 
 EXPORT_SYMBOL (sn_prom_feature_available)
 

Variables

unsigned long last_time_offset
 
void(* ia64_mark_idle )(int)
 
unsigned long sn_rtc_cycles_per_second
 
char sn_system_serial_number_string [128]
 
u64 sn_partition_serial_number
 
u8 sn_partition_id
 
u8 sn_system_size
 
u8 sn_sharing_domain_size
 
u8 sn_coherency_id
 
u8 sn_region_size
 
int sn_prom_type
 
short physical_node_map [MAX_NUMALINK_NODES]
 
int num_cnodes
 
struct screen_info sn_screen_info
 
int platform_intr_list []
 
u8 signature [4]
 
u32 length
 
u8 rev
 
u8 sum
 
u8 oem_id [6]
 
u64 oem_tableid
 
u32 oem_rev
 
u32 creator_id
 
u32 creator_rev
 
u32 num_type0
 
struct hcdp_uart_desc uart [0]
 
u8 type
 
u8 primary
 
u16 index
 
u8 reserved
 
u8 segment
 
u8 bus
 
u8 dev
 
u8 fun
 
u16 devid
 
u16 vendid
 
u32 acpi_interrupt
 
u64 mmio_tra
 
u64 ioport_tra
 
u8 flags
 
u8 translation
 
u8 num_eas_desc
 

Macro Definition Documentation

#define MAX_PHYS_MEMORY   (1UL << IA64_MAX_PHYS_BITS) /* Max physical address supported */

Definition at line 59 of file setup.c.

#define PCDP_CONSOLE_DEBUG   0x1

Definition at line 302 of file setup.c.

#define PCDP_CONSOLE_IN   0x3

Definition at line 304 of file setup.c.

#define PCDP_CONSOLE_INOUT   0x0

Definition at line 301 of file setup.c.

#define PCDP_CONSOLE_OUT   0x2

Definition at line 303 of file setup.c.

#define PCDP_CONSOLE_TYPE_VGA   0x8

Definition at line 305 of file setup.c.

#define PCDP_CONSOLE_VGA   (PCDP_CONSOLE_TYPE_VGA | PCDP_CONSOLE_OUT)

Definition at line 307 of file setup.c.

#define PCDP_IF_PCI   1

Definition at line 310 of file setup.c.

#define PCDP_PCI_TRANS_IOPORT   0x02

Definition at line 313 of file setup.c.

#define PCDP_PCI_TRANS_MMIO   0x01

Definition at line 314 of file setup.c.

#define PCDP_PRIMARY_CONSOLE   0x01

Definition at line 298 of file setup.c.

Function Documentation

struct pcdp __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

void bte_init_node ( nodepda_t ,
cnodeid_t   
)

Definition at line 424 of file bte.c.

DEFINE_PER_CPU ( struct pda_s  ,
pda_percpu   
)
DEFINE_PER_CPU ( struct sn_hub_info_s  ,
__sn_hub_info   
)
DEFINE_PER_CPU ( short  ,
__sn_cnodeid_to_nasid  [MAX_COMPACT_NODES] 
)
DEFINE_PER_CPU ( struct nodepda_s ,
__sn_nodepda   
)
void __init early_sn_setup ( void  )

early_sn_setup - early setup routine for SN platforms

Sets up an initial console to aid debugging. Intended primarily for bringup. See start_kernel() in init/main.c.

Definition at line 154 of file setup.c.

EXPORT_PER_CPU_SYMBOL ( __sn_hub_info  )
EXPORT_PER_CPU_SYMBOL ( __sn_cnodeid_to_nasid  )
EXPORT_PER_CPU_SYMBOL ( __sn_nodepda  )
EXPORT_SYMBOL ( sn_rtc_cycles_per_second  )
EXPORT_SYMBOL ( sn_system_serial_number_string  )
EXPORT_SYMBOL ( sn_partition_serial_number  )
EXPORT_SYMBOL ( sn_partition_id  )
EXPORT_SYMBOL ( sn_system_size  )
EXPORT_SYMBOL ( sn_sharing_domain_size  )
EXPORT_SYMBOL ( sn_coherency_id  )
EXPORT_SYMBOL ( sn_region_size  )
EXPORT_SYMBOL ( physical_node_map  )
EXPORT_SYMBOL ( sn_prom_feature_available  )
int nasid_slice_to_cpuid ( int  nasid,
int  slice 
)

Definition at line 748 of file setup.c.

void __cpuinit sn_cpu_init ( void  )

sn_cpu_init - initialize per-cpu data areas : cpuid of the caller

Called during cpu initialization on each cpu as it starts. Currently, initializes the per-cpu data area for SNIA. Also sets up a few fields in the nodepda. Also known as platform_cpu_init() by the ia64 machvec code.

Definition at line 561 of file setup.c.

void sn_kernel_launch_event ( void  )

Definition at line 768 of file setup.c.

int sn_prom_feature_available ( int  id)

Definition at line 760 of file setup.c.

void __init sn_setup ( char **  cmdline_p)

sn_setup - SN platform setup routine : kernel command line

Handles platform setup for SN machines. This includes determining the RTC frequency (via a SAL call), initializing secondary CPUs, and setting up per-node data areas. The console is also initialized here.

Definition at line 370 of file setup.c.

void sn_timer_init ( void  )

Definition at line 54 of file timer.c.

void snidle ( int  )

Definition at line 11 of file idle.c.

Variable Documentation

u32 acpi_interrupt

Definition at line 300 of file setup.c.

__u8 bus

Definition at line 295 of file setup.c.

u32 creator_id

Definition at line 272 of file setup.c.

u32 creator_rev

Definition at line 273 of file setup.c.

u8 dev

Definition at line 296 of file setup.c.

__le64 devid

Definition at line 298 of file setup.c.

u8 flags

Definition at line 303 of file setup.c.

u8 fun

Definition at line 297 of file setup.c.

void(* ia64_mark_idle)(int)

Definition at line 56 of file process.c.

__le64 index

Definition at line 277 of file setup.c.

u64 ioport_tra

Definition at line 302 of file setup.c.

unsigned long last_time_offset
u16 length

Definition at line 266 of file setup.c.

u64 mmio_tra

Definition at line 301 of file setup.c.

int num_cnodes

Definition at line 101 of file setup.c.

u8 num_eas_desc

Definition at line 296 of file setup.c.

u32 num_type0

Definition at line 274 of file setup.c.

u8 oem_id[6]

Definition at line 269 of file setup.c.

u32 oem_rev

Definition at line 271 of file setup.c.

u64 oem_tableid

Definition at line 270 of file setup.c.

short physical_node_map[MAX_NUMALINK_NODES]

Definition at line 96 of file setup.c.

int platform_intr_list[]

Definition at line 146 of file acpi.c.

u8 primary

Definition at line 275 of file setup.c.

u8 reserved

Definition at line 292 of file setup.c.

u8 rev

Definition at line 267 of file setup.c.

u16 segment

Definition at line 294 of file setup.c.

__u8 signature

Definition at line 265 of file setup.c.

u8 sn_coherency_id

Definition at line 90 of file setup.c.

u8 sn_partition_id

Definition at line 84 of file setup.c.

u64 sn_partition_serial_number

Definition at line 82 of file setup.c.

int sn_prom_type

Definition at line 94 of file setup.c.

u8 sn_region_size

Definition at line 92 of file setup.c.

unsigned long sn_rtc_cycles_per_second

Definition at line 68 of file setup.c.

struct screen_info sn_screen_info
Initial value:
= {
.orig_x = 0,
.orig_y = 0,
.orig_video_mode = 3,
.orig_video_cols = 80,
.orig_video_ega_bx = 3,
.orig_video_lines = 25,
.orig_video_isVGA = 1,
.orig_video_points = 16
}

Definition at line 113 of file setup.c.

u8 sn_sharing_domain_size

Definition at line 88 of file setup.c.

char sn_system_serial_number_string[128]

Definition at line 80 of file setup.c.

u8 sn_system_size

Definition at line 86 of file setup.c.

Definition at line 268 of file setup.c.

u8 translation

Definition at line 304 of file setup.c.

Definition at line 274 of file setup.c.

Definition at line 275 of file setup.c.

u16 vendid

Definition at line 299 of file setup.c.