Rev 1777 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1777 | Rev 1784 | ||
---|---|---|---|
Line 25... | Line 25... | ||
25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | # |
27 | # |
28 | 28 | ||
29 | #include <arch/boot/boot.h> |
29 | #include <arch/boot/boot.h> |
- | 30 | #include <arch/register.h> |
|
30 | 31 | ||
31 | .register %g2, #scratch |
32 | .register %g2, #scratch |
32 | .register %g3, #scratch |
33 | .register %g3, #scratch |
33 | .register %g6, #scratch |
34 | .register %g6, #scratch |
34 | .register %g7, #scratch |
35 | .register %g7, #scratch |
35 | 36 | ||
36 | .section K_TEXT_START, "ax" |
37 | .section K_TEXT_START, "ax" |
37 | 38 | ||
38 | /* |
39 | /* |
39 | * Here is where the kernel is passed control. |
40 | * Here is where the kernel is passed control. |
40 | * The code must be position independent until |
- | |
41 | * the kernel relocates itself to its VMA. |
- | |
42 | */ |
41 | */ |
43 | 42 | ||
44 | .global kernel_image_start |
43 | .global kernel_image_start |
45 | kernel_image_start: |
44 | kernel_image_start: |
46 | flushw ! flush all but the active register window |
45 | flushw ! flush all but the active register window |
47 | 46 | ||
- | 47 | rdpr %pstate, %l0 |
|
- | 48 | and %l0, ~PSTATE_AM_BIT, %l0 |
|
- | 49 | wrpr %l0, 0, %pstate |
|
- | 50 | ||
48 | set ofw, %l0 |
51 | set ofw_cif, %l0 |
49 | 52 | ||
50 | call ofw_init |
53 | call ofw_init |
51 | stx %o4, [%l0] |
54 | stx %o4, [%l0] |
52 | 55 | ||
53 | call ofw_init_memmap |
56 | call ofw_init_memmap |