Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/sparc/prom/bootstr_64.c
10818 views
1
/*
2
* bootstr.c: Boot string/argument acquisition from the PROM.
3
*
4
* Copyright(C) 1995 David S. Miller ([email protected])
5
* Copyright(C) 1996,1998 Jakub Jelinek ([email protected])
6
*/
7
8
#include <linux/string.h>
9
#include <linux/init.h>
10
#include <asm/oplib.h>
11
12
/* WARNING: The boot loader knows that these next three variables come one right
13
* after another in the .data section. Do not move this stuff into
14
* the .bss section or it will break things.
15
*/
16
17
#define BARG_LEN 256
18
struct {
19
int bootstr_len;
20
int bootstr_valid;
21
char bootstr_buf[BARG_LEN];
22
} bootstr_info = {
23
.bootstr_len = BARG_LEN,
24
#ifdef CONFIG_CMDLINE
25
.bootstr_valid = 1,
26
.bootstr_buf = CONFIG_CMDLINE,
27
#endif
28
};
29
30
char * __init
31
prom_getbootargs(void)
32
{
33
/* This check saves us from a panic when bootfd patches args. */
34
if (bootstr_info.bootstr_valid)
35
return bootstr_info.bootstr_buf;
36
prom_getstring(prom_chosen_node, "bootargs",
37
bootstr_info.bootstr_buf, BARG_LEN);
38
bootstr_info.bootstr_valid = 1;
39
return bootstr_info.bootstr_buf;
40
}
41
42