diff options
author | Matei Valeanu <Matei.Valeanu@enea.com> | 2018-06-20 10:47:14 +0200 |
---|---|---|
committer | Adrian Dudau <adrian.dudau@enea.com> | 2018-06-21 09:45:19 +0200 |
commit | bedd49f6c07a691663253a0973fdad82e9b1a103 (patch) | |
tree | 006494dd1c3c3c1b5434c9eaccc0b5e07b537c6e /patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch | |
parent | 7f34b40b0ba594d85ee8ccdf327d2a06f7ceaad4 (diff) | |
download | enea-kernel-cache-bedd49f6c07a691663253a0973fdad82e9b1a103.tar.gz |
kernel messages: add different host/guest messages
Rebase the patch and split it into host/guest.
Add different kernel start/end messages for host and guest
for easier parsing when booting both.
Signed-off-by: Matei Valeanu <Matei.Valeanu@enea.com>
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch')
-rw-r--r-- | patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch b/patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch new file mode 100644 index 0000000..e5c613c --- /dev/null +++ b/patches/kernel_startend_msg/0001-printk-Add-Enea-Linux-guest-boot-start-end-messages.patch | |||
@@ -0,0 +1,103 @@ | |||
1 | From 30aff2983e14dc6482dd2cd6c9a3b96db65c689e Mon Sep 17 00:00:00 2001 | ||
2 | From: Matei Valeanu <Matei.Valeanu@enea.com> | ||
3 | Date: Wed, 20 Jun 2018 09:41:46 +0200 | ||
4 | Subject: [PATCH] printk: Add Enea Linux guest boot start/end messages | ||
5 | |||
6 | rebased for 4.14 | ||
7 | |||
8 | Upstream-status: Inappropriate [specific measurement] | ||
9 | |||
10 | Signed-off-by: Adrian Calianu <adrian.calianu@enea.com> | ||
11 | Signed-off-by: Matei Valeanu <Matei.Valeanu@enea.com> | ||
12 | --- | ||
13 | arch/x86/boot/compressed/misc.c | 23 ++++++++++++----------- | ||
14 | init/main.c | 4 +++- | ||
15 | 2 files changed, 15 insertions(+), 12 deletions(-) | ||
16 | |||
17 | diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c | ||
18 | index 252fee3..ecff964 100644 | ||
19 | --- a/arch/x86/boot/compressed/misc.c | ||
20 | +++ b/arch/x86/boot/compressed/misc.c | ||
21 | @@ -212,10 +212,10 @@ static void handle_relocations(void *output, unsigned long output_len, | ||
22 | delta = virt_addr - LOAD_PHYSICAL_ADDR; | ||
23 | |||
24 | if (!delta) { | ||
25 | - debug_putstr("No relocation needed... "); | ||
26 | + /* debug_putstr("No relocation needed... "); */ | ||
27 | return; | ||
28 | } | ||
29 | - debug_putstr("Performing relocations... "); | ||
30 | + /* debug_putstr("Performing relocations... "); */ | ||
31 | |||
32 | /* | ||
33 | * Process relocations: 32 bit relocations first then 64 bit after. | ||
34 | @@ -296,7 +296,7 @@ static void parse_elf(void *output) | ||
35 | return; | ||
36 | } | ||
37 | |||
38 | - debug_putstr("Parsing ELF... "); | ||
39 | + /* debug_putstr("Parsing ELF... ");*/ | ||
40 | |||
41 | phdrs = malloc(sizeof(*phdrs) * ehdr.e_phnum); | ||
42 | if (!phdrs) | ||
43 | @@ -374,7 +374,8 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap, | ||
44 | cols = boot_params->screen_info.orig_video_cols; | ||
45 | |||
46 | console_init(); | ||
47 | - debug_putstr("early console in extract_kernel\n"); | ||
48 | + /* debug_putstr("early console in extract_kernel\n");*/ | ||
49 | + debug_putstr("\n");debug_putstr("Enea Linux guest kernel boot start\n"); | ||
50 | |||
51 | if (IS_ENABLED(CONFIG_X86_5LEVEL) && !l5_supported()) { | ||
52 | error("This linux kernel as configured requires 5-level paging\n" | ||
53 | @@ -386,11 +387,11 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap, | ||
54 | free_mem_end_ptr = heap + BOOT_HEAP_SIZE; | ||
55 | |||
56 | /* Report initial kernel position details. */ | ||
57 | - debug_putaddr(input_data); | ||
58 | - debug_putaddr(input_len); | ||
59 | - debug_putaddr(output); | ||
60 | - debug_putaddr(output_len); | ||
61 | - debug_putaddr(kernel_total_size); | ||
62 | + /*debug_putaddr(input_data); */ | ||
63 | + /*debug_putaddr(input_len); */ | ||
64 | + /*debug_putaddr(output); */ | ||
65 | + /*debug_putaddr(output_len); */ | ||
66 | + /*debug_putaddr(kernel_total_size);*/ | ||
67 | |||
68 | /* | ||
69 | * The memory hole needed for the kernel is the larger of either | ||
70 | @@ -423,12 +424,12 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap, | ||
71 | error("Destination virtual address changed when not relocatable"); | ||
72 | #endif | ||
73 | |||
74 | - debug_putstr("\nDecompressing Linux... "); | ||
75 | + /*debug_putstr("\nDecompressing Linux... ");*/ | ||
76 | __decompress(input_data, input_len, NULL, NULL, output, output_len, | ||
77 | NULL, error); | ||
78 | parse_elf(output); | ||
79 | handle_relocations(output, output_len, virt_addr); | ||
80 | - debug_putstr("done.\nBooting the kernel.\n"); | ||
81 | + /*debug_putstr("done.\nBooting the kernel.\n");*/ | ||
82 | return output; | ||
83 | } | ||
84 | |||
85 | diff --git a/init/main.c b/init/main.c | ||
86 | index 56210eb..9e61f9d 100644 | ||
87 | --- a/init/main.c | ||
88 | +++ b/init/main.c | ||
89 | @@ -1025,8 +1025,10 @@ static int __ref kernel_init(void *unused) | ||
90 | if (!try_to_run_init_process("/sbin/init") || | ||
91 | !try_to_run_init_process("/etc/init") || | ||
92 | !try_to_run_init_process("/bin/init") || | ||
93 | - !try_to_run_init_process("/bin/sh")) | ||
94 | + !try_to_run_init_process("/bin/sh")) { | ||
95 | + printk(KERN_EMERG "Enea Linux guest kernel boot end\n"); | ||
96 | return 0; | ||
97 | + } | ||
98 | |||
99 | panic("No working init found. Try passing init= option to kernel. " | ||
100 | "See Linux Documentation/admin-guide/init.rst for guidance."); | ||
101 | -- | ||
102 | 2.7.4 | ||
103 | |||