These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / x86 / boot / compressed / misc.c
index e28437e..79dac17 100644 (file)
@@ -220,6 +220,23 @@ void __putstr(const char *s)
        outb(0xff & (pos >> 1), vidport+1);
 }
 
+void __puthex(unsigned long value)
+{
+       char alpha[2] = "0";
+       int bits;
+
+       for (bits = sizeof(value) * 8 - 4; bits >= 0; bits -= 4) {
+               unsigned long digit = (value >> bits) & 0xf;
+
+               if (digit < 0xA)
+                       alpha[0] = '0' + digit;
+               else
+                       alpha[0] = 'a' + (digit - 0xA);
+
+               __putstr(alpha);
+       }
+}
+
 static void error(char *x)
 {
        error_putstr("\n\n");
@@ -399,6 +416,13 @@ asmlinkage __visible void *decompress_kernel(void *rmode, memptr heap,
        free_mem_ptr     = heap;        /* Heap */
        free_mem_end_ptr = heap + BOOT_HEAP_SIZE;
 
+       /* Report initial kernel position details. */
+       debug_putaddr(input_data);
+       debug_putaddr(input_len);
+       debug_putaddr(output);
+       debug_putaddr(output_len);
+       debug_putaddr(run_size);
+
        /*
         * The memory hole needed for the kernel is the larger of either
         * the entire decompressed kernel plus relocation table, or the