Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
prom_init.c File Reference
#include <stdarg.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/init.h>
#include <linux/threads.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/proc_fs.h>
#include <linux/stringify.h>
#include <linux/delay.h>
#include <linux/initrd.h>
#include <linux/bitops.h>
#include <asm/prom.h>
#include <asm/rtas.h>
#include <asm/page.h>
#include <asm/processor.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/smp.h>
#include <asm/mmu.h>
#include <asm/pgtable.h>
#include <asm/pci.h>
#include <asm/iommu.h>
#include <asm/btext.h>
#include <asm/sections.h>
#include <asm/machdep.h>
#include <asm/opal.h>
#include <linux/linux_logo.h>

Go to the source code of this file.

Data Structures

struct  prom_args
 
struct  prom_t
 
struct  mem_map_entry
 

Macros

#define DEVTREE_CHUNK_SIZE   0x100000
 
#define MEM_RESERVE_MAP_SIZE   8
 
#define RELOC(x)   (x)
 
#define ADDR(x)   (u32) (x)
 
#define OF_WORKAROUNDS   of_workarounds
 
#define OF_WA_CLAIM   1 /* do phys/virt claim separately, then map */
 
#define OF_WA_LONGTRAIL   2 /* work around longtrail bugs */
 
#define PROM_BUG()
 
#define prom_debug(x...)
 
#define PROM_SCRATCH_SIZE   256
 
#define PLATFORM_PSERIES   0x0100
 
#define PLATFORM_PSERIES_LPAR   0x0101
 
#define PLATFORM_LPAR   0x0001
 
#define PLATFORM_POWERMAC   0x0400
 
#define PLATFORM_GENERIC   0x0500
 
#define PLATFORM_OPAL   0x0600
 
#define PROM_ERROR   (-1u)
 
#define PHANDLE_VALID(p)   ((p) != 0 && (p) != PROM_ERROR)
 
#define IHANDLE_VALID(i)   ((i) != 0 && (i) != PROM_ERROR)
 
#define UL_DIGITS   21
 
#define isxdigit(c)
 
#define isdigit(c)   ('0' <= (c) && (c) <= '9')
 
#define islower(c)   ('a' <= (c) && (c) <= 'z')
 
#define toupper(c)   (islower(c) ? ((c) - 'a' + 'A') : (c))
 
#define LOW_ADDR(x)   (((unsigned long) &(x)) & 0xff)
 
#define prom_find_mmu()
 
#define dt_push_token(token, mem_start, mem_end)   do { *((u32 *)make_room(mem_start, mem_end, 4, 4)) = token; } while(0)
 
#define MAX_PROPERTY_NAME   64
 
#define fixup_device_tree_maple()
 
#define fixup_device_tree_maple_memory_controller()
 
#define fixup_device_tree_chrp()
 
#define fixup_device_tree_pmac()
 
#define fixup_device_tree_efika()
 

Typedefs

typedef u32 prom_arg_t
 
typedef u32 cell_t
 

Functions

void __start (unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7, unsigned long r8, unsigned long r9)
 
void copy_and_flush (unsigned long dest, unsigned long src, unsigned long size, unsigned long offset)
 
unsigned long prom_strtoul (const char *cp, const char **endp)
 
unsigned long prom_memparse (const char *ptr, const char **retptr)
 
unsigned long __init prom_init (unsigned long r3, unsigned long r4, unsigned long pp, unsigned long r6, unsigned long r7, unsigned long kbase)
 

Variables

int of_workarounds
 

Macro Definition Documentation

#define ADDR (   x)    (u32) (x)

Definition at line 88 of file prom_init.c.

#define DEVTREE_CHUNK_SIZE   0x100000

Definition at line 52 of file prom_init.c.

#define dt_push_token (   token,
  mem_start,
  mem_end 
)    do { *((u32 *)make_room(mem_start, mem_end, 4, 4)) = token; } while(0)

Definition at line 2189 of file prom_init.c.

#define fixup_device_tree_chrp ( )

Definition at line 2610 of file prom_init.c.

#define fixup_device_tree_efika ( )

Definition at line 2790 of file prom_init.c.

#define fixup_device_tree_maple ( )

Definition at line 2554 of file prom_init.c.

#define fixup_device_tree_maple_memory_controller ( )

Definition at line 2555 of file prom_init.c.

#define fixup_device_tree_pmac ( )

Definition at line 2654 of file prom_init.c.

#define IHANDLE_VALID (   i)    ((i) != 0 && (i) != PROM_ERROR)

Definition at line 211 of file prom_init.c.

#define isdigit (   c)    ('0' <= (c) && (c) <= '9')

Definition at line 539 of file prom_init.c.

#define islower (   c)    ('a' <= (c) && (c) <= 'z')

Definition at line 540 of file prom_init.c.

#define isxdigit (   c)
Value:
(('0' <= (c) && (c) <= '9') \
|| ('a' <= (c) && (c) <= 'f') \
|| ('A' <= (c) && (c) <= 'F'))

Definition at line 535 of file prom_init.c.

#define LOW_ADDR (   x)    (((unsigned long) &(x)) & 0xff)

Definition at line 1838 of file prom_init.c.

#define MAX_PROPERTY_NAME   64

Definition at line 2210 of file prom_init.c.

#define MEM_RESERVE_MAP_SIZE   8

Definition at line 61 of file prom_init.c.

#define OF_WA_CLAIM   1 /* do phys/virt claim separately, then map */

Definition at line 93 of file prom_init.c.

#define OF_WA_LONGTRAIL   2 /* work around longtrail bugs */

Definition at line 94 of file prom_init.c.

#define OF_WORKAROUNDS   of_workarounds

Definition at line 89 of file prom_init.c.

#define PHANDLE_VALID (   p)    ((p) != 0 && (p) != PROM_ERROR)

Definition at line 210 of file prom_init.c.

#define PLATFORM_GENERIC   0x0500

Definition at line 181 of file prom_init.c.

#define PLATFORM_LPAR   0x0001

Definition at line 179 of file prom_init.c.

#define PLATFORM_OPAL   0x0600

Definition at line 182 of file prom_init.c.

#define PLATFORM_POWERMAC   0x0400

Definition at line 180 of file prom_init.c.

#define PLATFORM_PSERIES   0x0100

Definition at line 177 of file prom_init.c.

#define PLATFORM_PSERIES_LPAR   0x0101

Definition at line 178 of file prom_init.c.

#define PROM_BUG ( )
Value:
do { \
prom_printf("kernel BUG at %s line 0x%x!\n", \
RELOC(__FILE__), __LINE__); \
__asm__ __volatile__(".long " BUG_ILLEGAL_INSTR); \
} while (0)

Definition at line 96 of file prom_init.c.

#define prom_debug (   x...)

Definition at line 105 of file prom_init.c.

#define PROM_ERROR   (-1u)

Definition at line 209 of file prom_init.c.

#define prom_find_mmu ( )

Definition at line 1969 of file prom_init.c.

#define PROM_SCRATCH_SIZE   256

Definition at line 155 of file prom_init.c.

#define RELOC (   x)    (x)

Definition at line 87 of file prom_init.c.

#define toupper (   c)    (islower(c) ? ((c) - 'a' + 'A') : (c))

Definition at line 541 of file prom_init.c.

#define UL_DIGITS   21

Definition at line 310 of file prom_init.c.

Typedef Documentation

typedef u32 cell_t

Definition at line 132 of file prom_init.c.

typedef u32 prom_arg_t

Definition at line 109 of file prom_init.c.

Function Documentation

void __start ( unsigned long  r3,
unsigned long  r4,
unsigned long  r5,
unsigned long  r6,
unsigned long  r7,
unsigned long  r8,
unsigned long  r9 
)
void copy_and_flush ( unsigned long  dest,
unsigned long  src,
unsigned long  size,
unsigned long  offset 
)
unsigned long __init prom_init ( unsigned long  r3,
unsigned long  r4,
unsigned long  pp,
unsigned long  r6,
unsigned long  r7,
unsigned long  kbase 
)

Definition at line 2854 of file prom_init.c.

unsigned long prom_memparse ( const char ptr,
const char **  retptr 
)

Definition at line 568 of file prom_init.c.

unsigned long prom_strtoul ( const char cp,
const char **  endp 
)

Definition at line 543 of file prom_init.c.

Variable Documentation

int of_workarounds

Definition at line 90 of file prom_init.c.