~ubuntu-branches/ubuntu/hardy/silo/hardy-proposed

« back to all changes in this revision

Viewing changes to include/promlib.h

  • Committer: Bazaar Package Importer
  • Author(s): Fabio M. Di Nitto
  • Date: 2007-10-25 09:28:08 UTC
  • mfrom: (15.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20071025092808-1yhj12t7s4zqsfu5
Tags: 1.4.13a+git20070930-1ubuntu1
* Merge from debian unstable, remaining changes:
  - Build with -fno-stack-protector.
  - Change silo.postinst to automatically update the boot block without
    invoking siloconfig and keep asking questions on upgrades.
  - Convert silo.conf to use /dev/disk/by-uuid.
  - Ubuntu maintainer foobar.
  - Fix debian/rules call to dh_installdocs.
  - Drop the requirement of gcc-4.1 and start using default gcc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __PROMLIB_H
 
2
#define __PROMLIB_H
 
3
 
 
4
#include <asm/openprom.h>
 
5
#include <stdarg.h>
 
6
 
 
7
/*
 
8
 * sun4p is a fake architecture, representing IIep based system.
 
9
 * Krups has no architecture in the PROM tree.
 
10
 * CP-1200 has "sun4s" which is obviously a mistake [don't ask, huh].
 
11
 */
 
12
enum arch { sun4, sun4c, sun4m, sun4d, sun4e, sun4u, sun4p, sununknown };
 
13
 
 
14
extern struct linux_romvec *romvec;
 
15
 
 
16
void prom_init(struct linux_romvec *rp, void *cifh, void *cifsp);
 
17
void prom_halt(void);
 
18
void prom_cmdline(void);
 
19
int prom_getchild (int);
 
20
int prom_getsibling (int);
 
21
int prom_getproplen (int, char *);
 
22
int prom_getproperty (int, char *, char *, int);
 
23
int prom_getint (int, char *);
 
24
int prom_getintdefault (int, char *, int);
 
25
int prom_finddevice (char *);
 
26
void prom_getstring (int, char *, char *, int);
 
27
void prom_chain (unsigned long, int, unsigned long, char *, int);
 
28
void prom_reboot (char *command);
 
29
int prom_searchsiblings (int, char *);
 
30
int prom_setprop (int, char *, char *, int);
 
31
void prom_adjust_regs (struct linux_prom_registers *, int,
 
32
                       struct linux_prom_ranges *, int);
 
33
void prom_adjust_ranges (struct linux_prom_ranges *, int,
 
34
                         struct linux_prom_ranges *, int);
 
35
 
 
36
void prom_apply_obio_ranges (struct linux_prom_registers *, int);
 
37
void prom_ranges_init(void);
 
38
void prom_puts (char *, int);
 
39
void prom_putchar (char);
 
40
char prom_getchar (void);
 
41
int prom_nbputchar (char);
 
42
int prom_nbgetchar (void);
 
43
void prom_printf (char *, ...);
 
44
#define printf prom_printf
 
45
int p1275_cmd (char *, unsigned, ...);
 
46
#define P1275_ARG_64B(x) (1 << ((x) + 8))
 
47
 
 
48
/* Map/Unmap client program address ranges.  First the format of
 
49
 * the mapping mode argument.
 
50
 */
 
51
#define PROM_MAP_WRITE  0x0001 /* Writable */
 
52
#define PROM_MAP_READ   0x0002 /* Readable - sw */
 
53
#define PROM_MAP_EXEC   0x0004 /* Executable - sw */
 
54
#define PROM_MAP_LOCKED 0x0010 /* Locked, use i/dtlb load calls for this instead */
 
55
#define PROM_MAP_CACHED 0x0020 /* Cacheable in both L1 and L2 caches */
 
56
#define PROM_MAP_SE     0x0040 /* Side-Effects */
 
57
#define PROM_MAP_GLOB   0x0080 /* Global */
 
58
#define PROM_MAP_IE     0x0100 /* Invert-Endianness */
 
59
#define PROM_MAP_DEFAULT (PROM_MAP_WRITE | PROM_MAP_READ | PROM_MAP_EXEC | PROM_MAP_CACHED)
 
60
 
 
61
int prom_map(int mode, unsigned long long size,
 
62
             unsigned long long vaddr,
 
63
             unsigned long long paddr);
 
64
void prom_unmap(unsigned long long size, unsigned long long vaddr);
 
65
 
 
66
 
 
67
enum prom_major_version { PROM_V0, PROM_V2, PROM_V3, PROM_P1275 };
 
68
extern enum prom_major_version prom_vers;
 
69
extern unsigned int prom_rev, prom_prev;
 
70
extern int prom_root_node;
 
71
extern int prom_stdin, prom_stdout;
 
72
extern int prom_chosen;
 
73
extern struct linux_nodeops *prom_nodeops;
 
74
#endif