s390/boot: move dma sections from decompressor to decompressed kernel
[linux-2.6-microblaze.git] / arch / s390 / kernel / vmlinux.lds.S
index 4c0e191..b18288d 100644 (file)
@@ -71,6 +71,13 @@ SECTIONS
        RW_DATA(0x100, PAGE_SIZE, THREAD_SIZE)
        BOOT_DATA_PRESERVED
 
+       . = ALIGN(8);
+       .dma.refs : {
+               _start_dma_refs = .;
+               *(.dma.refs)
+               _end_dma_refs = .;
+       }
+
        _edata = .;             /* End of data section */
 
        /* will be freed after init */
@@ -136,6 +143,32 @@ SECTIONS
 
        BOOT_DATA
 
+       /*
+        * .dma section for code, data, ex_table that need to stay below 2 GB,
+        * even when the kernel is relocated above 2 GB.
+        */
+       . = ALIGN(PAGE_SIZE);
+       _sdma = .;
+       .dma.text : {
+               _stext_dma = .;
+               *(.dma.text)
+               *(.dma.text.*_indirect_*)
+               . = ALIGN(PAGE_SIZE);
+               _etext_dma = .;
+       }
+       . = ALIGN(16);
+       .dma.ex_table : {
+               _start_dma_ex_table = .;
+               KEEP(*(.dma.ex_table))
+               _stop_dma_ex_table = .;
+       }
+       . = ALIGN(PAGE_SIZE);
+       .dma.data : {
+               *(.dma.data)
+       }
+       . = ALIGN(PAGE_SIZE);
+       _edma = .;
+
        /* early.c uses stsi, which requires page aligned data. */
        . = ALIGN(PAGE_SIZE);
        INIT_DATA_SECTION(0x100)