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 |