Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8738
b: refs/heads/master
c: 9f57574
h: refs/heads/master
v: v3
  • Loading branch information
Greg Ungerer authored and Linus Torvalds committed Sep 13, 2005
1 parent ba51277 commit 9bf551f
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7cf27cb4162bd586c015e32383f30bc7fbb3ff8a
refs/heads/master: 9f5757476dc1c8eabc51e7d14722a2646bc2cb9d
135 changes: 135 additions & 0 deletions trunk/arch/m68knommu/platform/68328/head-de2.S
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
#include <linux/config.h>

#if defined(CONFIG_RAM32MB)
#define MEM_END 0x02000000 /* Memory size 32Mb */
#elif defined(CONFIG_RAM16MB)
#define MEM_END 0x01000000 /* Memory size 16Mb */
#else
#define MEM_END 0x00800000 /* Memory size 8Mb */
#endif

#undef CRT_DEBUG

.macro PUTC CHAR
#ifdef CRT_DEBUG
moveq #\CHAR, %d7
jsr putc
#endif
.endm

.global _start
.global _rambase
.global _ramvec
.global _ramstart
.global _ramend

.data

/*
* Set up the usable of RAM stuff
*/
_rambase:
.long 0
_ramvec:
.long 0
_ramstart:
.long 0
_ramend:
.long 0

.text

_start:

/*
* Setup initial stack
*/
/* disable all interrupts */
movew #0x2700, %sr
movel #-1, 0xfffff304
movel #MEM_END-4, %sp

PUTC '\r'
PUTC '\n'
PUTC 'A'
PUTC 'B'

/*
* Determine end of RAM
*/

movel #MEM_END, %a0
movel %a0, _ramend

PUTC 'C'

/*
* Move ROM filesystem above bss :-)
*/

moveal #_sbss, %a0 /* romfs at the start of bss */
moveal #_ebss, %a1 /* Set up destination */
movel %a0, %a2 /* Copy of bss start */

movel 8(%a0), %d1 /* Get size of ROMFS */
addql #8, %d1 /* Allow for rounding */
andl #0xfffffffc, %d1 /* Whole words */

addl %d1, %a0 /* Copy from end */
addl %d1, %a1 /* Copy from end */
movel %a1, _ramstart /* Set start of ram */

1:
movel -(%a0), %d0 /* Copy dword */
movel %d0, -(%a1)
cmpl %a0, %a2 /* Check if at end */
bne 1b

PUTC 'D'

/*
* Initialize BSS segment to 0
*/

lea _sbss, %a0
lea _ebss, %a1

/* Copy 0 to %a0 until %a0 == %a1 */
2: cmpal %a0, %a1
beq 1f
clrl (%a0)+
bra 2b
1:

PUTC 'E'

/*
* Load the current task pointer and stack
*/

lea init_thread_union, %a0
lea 0x2000(%a0), %sp

PUTC 'F'
PUTC '\r'
PUTC '\n'

/*
* Go
*/

jmp start_kernel

/*
* Local functions
*/

#ifdef CRT_DEBUG
putc:
moveb %d7, 0xfffff907
1:
movew 0xfffff906, %d7
andw #0x2000, %d7
beq 1b
rts
#endif

0 comments on commit 9bf551f

Please sign in to comment.