Subversion Repositories HelenOS

Rev

Rev 2293 | Rev 2339 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2293 Rev 2323
Line 24... Line 24...
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
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
 
-
 
30
/** @addtogroup arm32boot
-
 
31
 * @{
-
 
32
 */
-
 
33
/** @file
-
 
34
 */
-
 
35
 
-
 
36
 
29
#include "main.h" 
37
#include "main.h" 
30
#include "asm.h"
38
#include "asm.h"
31
#include "_components.h"
39
#include "_components.h"
32
#include <printf.h>
40
#include <printf.h>
33
 
41
 
34
#include "mm.h"
42
#include "mm.h"
35
 
43
 
-
 
44
/** Kernel entry point address. */
36
#define KERNEL_VIRTUAL_ADDRESS 0x80150000
45
#define KERNEL_VIRTUAL_ADDRESS 0x80200000
-
 
46
 
37
 
47
 
38
char *release = RELEASE;
48
char *release = RELEASE;
39
 
49
 
40
#ifdef REVISION
50
#ifdef REVISION
41
    char *revision = ", revision " REVISION;
51
    char *revision = ", revision " REVISION;
Line 47... Line 57...
47
    char *timestamp = "\nBuilt on " TIMESTAMP;
57
    char *timestamp = "\nBuilt on " TIMESTAMP;
48
#else
58
#else
49
    char *timestamp = "";
59
    char *timestamp = "";
50
#endif
60
#endif
51
 
61
 
-
 
62
 
52
/** Print version information. */
63
/** Prints bootloader version information. */
53
static void version_print(void)
64
static void version_print(void)
54
{
65
{
55
    printf("HelenOS ARM32 Bootloader\nRelease %s%s%s\nCopyright (c) 2007 HelenOS project\n",
66
    printf("HelenOS ARM32 Bootloader\nRelease %s%s%s\nCopyright (c) 2007 HelenOS project\n",
56
        release, revision, timestamp);
67
        release, revision, timestamp);
57
}
68
}
58
 
69
 
59
/** Copies all images to #KERNEL_VIRTUAL_ADDRESS and jumps there. */
70
/** Copies all images (kernel + user tasks) to #KERNEL_VIRTUAL_ADDRESS and jumps there. */
60
void bootstrap(void)
71
void bootstrap(void)
61
{
72
{
62
    mmu_start();
73
    mmu_start();
63
    version_print();
74
    version_print();
64
 
75
 
Line 95... Line 106...
95
   
106
   
96
    printf("\nBooting the kernel...\n");
107
    printf("\nBooting the kernel...\n");
97
    jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo, sizeof(bootinfo));
108
    jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo, sizeof(bootinfo));
98
}
109
}
99
 
110
 
-
 
111
/** @}
-
 
112
 */
-
 
113