Changeset 5d3d7c2b in mainline


Ignore:
Timestamp:
2006-07-17T19:07:11Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1c4a57f
Parents:
380954d9
Message:

fork directories

Location:
kernel/arch/xen32
Files:
2 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/xen32/_link.ld.in

    r380954d9 r5d3d7c2b  
    11/** Xen32 linker script
    2  * 
    3  * umapped section:
    4  *      kernel text
    5  *      kernel data
    6  * mapped section:
    7  *      kernel text
    8  *      kernel data
    92 */
    103
     
    147
    158SECTIONS {
    16         .unmapped BOOT_OFFSET: AT (0) {
    17                 unmapped_ktext_start = .;
    18                 *(K_TEXT_START);
    19                 unmapped_ktext_end = .;
    20        
    21                 unmapped_kdata_start = .;
    22                 *(K_DATA_START);
    23                 unmapped_kdata_end = .;
     9        __xen_guest : {
     10                *(__xen_guest);
    2411        }
    2512       
    26         .mapped (PA2KA(BOOT_OFFSET)+SIZEOF(.unmapped)): AT (SIZEOF(.unmapped)) {
     13        .image PA2KA(0): {
    2714                ktext_start = .;
    2815                *(.text);
     
    3421                *(COMMON);                      /* global variables */
    3522                hardcoded_load_address = .;
    36                 LONG(PA2KA(BOOT_OFFSET));
     23                LONG(PA2KA(0));
    3724                hardcoded_ktext_size = .;
    38                 LONG((ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start));
     25                LONG(ktext_end - ktext_start);
    3926                hardcoded_kdata_size = .;
    40                 LONG((kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start));
    41                 hardcoded_unmapped_ktext_size = .;
    42                 LONG(unmapped_ktext_end - unmapped_ktext_start);
    43                 hardcoded_unmapped_kdata_size = .;
    44                 LONG(unmapped_kdata_end - unmapped_kdata_start);
     27                LONG(kdata_end - kdata_start);
    4528                symbol_table = .;
    4629                *(symtab.*);                    /* Symbol table, must be LAST symbol! */
    4730                *(.bss);                        /* uninitialized static variables */
    4831                kdata_end = .;
    49         }
    50        
    51         __xen_guest(0): AT (SIZEOF(.unmapped)+SIZEOF(.mapped)) {
    52                 *(__xen_guest);
    5332        }
    5433
     
    5736                *(.comment);
    5837        }
    59        
    60 #ifdef CONFIG_SMP       
    61        
    62         _hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start);
    63         ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET;
    64         ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET;
    65         protected_ap_gdtr = PA2KA(ap_gdtr);
    66 
    67 #endif /* CONFIG_SMP */
    68 
    6938}
  • kernel/arch/xen32/src/boot/boot.S

    r380954d9 r5d3d7c2b  
    2929
    3030#include <arch/boot/boot.h>
    31 #include <arch/boot/memmap.h>
    3231#include <arch/mm/page.h>
    3332#include <arch/pm.h>
     
    164163                mods_end:
    165164               
    166                 bt $6, %eax                                                             # mbi->flags[6] (mmap_length, mmap_addr valid) 
    167                 jc mmap_valid
    168                        
    169                         xorl %edx, %edx
    170                         jmp mmap_invalid
    171                        
    172                 mmap_valid:
    173                 movl 44(%ebx), %ecx                                             # mbi->mmap_length
    174                 movl 48(%ebx), %esi                                             # mbi->mmap_addr
    175                 movl $e820table, %edi
    176                 xorl %edx, %edx
    177                
    178                 mmap_loop:
    179                         cmpl $0, %ecx
    180                         jle mmap_end
    181                        
    182                         movl 4(%esi), %eax                                      # mmap->base_addr_low
    183                         movl %eax, (%edi)
    184                        
    185                         movl 8(%esi), %eax                                      # mmap->base_addr_high
    186                         movl %eax, 4(%edi)
    187                        
    188                         movl 12(%esi), %eax                                     # mmap->length_low
    189                         movl %eax, 8(%edi)
    190                        
    191                         movl 16(%esi), %eax                                     # mmap->length_high
    192                         movl %eax, 12(%edi)
    193                        
    194                         movl 20(%esi), %eax                                     # mmap->type
    195                         movl %eax, 16(%edi)
    196                        
    197                         movl (%esi), %eax                                       # mmap->size
    198                         addl $0x4, %eax
    199                         addl %eax, %esi
    200                         subl %eax, %ecx
    201                         addl $MEMMAP_E820_RECORD_SIZE, %edi
    202                         incl %edx
    203                         jmp mmap_loop
    204                
    205                 mmap_end:
    206                
    207                 mmap_invalid:
    208                 movl %edx, e820counter
    209                
    210165        invalid_boot:
    211166       
Note: See TracChangeset for help on using the changeset viewer.