summaryrefslogtreecommitdiff
path: root/bootwrapper/bootargs.S
blob: 373ff7d2d18965356e242d7eaf24416f4ebdfd85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
	;
	; Copyright (c) 2012, ARM Limited. All rights reserved.
	;       
	; Redistribution and use in source and binary forms, with
	; or without modification, are permitted provided that the
	; following conditions are met:
	;     
	; Redistributions of source code must retain the above
	; copyright notice, this list of conditions and the 
	; following disclaimer.
	;
	; Redistributions in binary form must reproduce the
	; above copyright notice, this list of conditions and 
	; the following disclaimer in the documentation 
	; and/or other materials provided with the distribution.
	;      
	; Neither the name of ARM nor the names of its
	; contributors may be used to endorse or promote products
	; derived from this software without specific prior written
	; permission.                        
	; 
	
    AREA  | bootargs|, CODE, ALIGN=8
    PRESERVE8

    EXPORT  bootargs
    EXPORT  param_biosep
    IMPORT  |filesystem$$Base|
    IMPORT  |filesystem$$Length|
    INCLUDE emubuild.s

    GBLS    args
  IF L2_POLICY != "NC"
args SETS BOOTARGS :CC: " l2=alreadyon"
  ELSE
args SETS BOOTARGS :CC: " nol2x0"
  ENDIF

    
; ==============================================================================
; Linux "Tagged List" is declared here (see linux/Documentation/arm/Booting)
; ==============================================================================
        ALIGN   256                     ; gets us to 0x100 - where Linux expects
tags                                    ; to find its boot tags
; 0x100
        DCD     0x00000005              ; Size = 5 words
        DCD     0x54410001              ; ATAG_CORE
        DCD     0x00000000              ; Flags
        DCD     0x00000000              ; PageSize
        DCD     0x00000000              ; RootDev
; 0x114
        DCD     ( :LEN:args +2+3)/4+7   ; Size in words
        DCD     0x54410009              ; ATAG_CMDLINE

    ; Basic command line, probably the same as compiled into the kernel
        DCB     " "
bootargs
        DCB     args
        DCB     " "
        ; Reserve some space for "biosep=0x<bios_entrypoint>" bootarg
param_biosep SPACE 20
        ALIGN   4
end_cmdline
initrd2
        DCD     0x00000004              ; Size = 4 words
	DCD	0x54420005
	DCD	|filesystem$$Base|
	DCD	|filesystem$$Length|
        DCD     0x00000000              ; Size = 0 words
        DCD     0x00000000              ; ATAG_NONE - end of list
        ALIGN   4

        END