Print this page
de-linting of .s files


   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 
  27 
  28 #if defined(__lint)
  29 #pragma pack(1)
  30 struct {
  31         uint16_t limit_low;
  32         uint16_t base_low;
  33         uint8_t base_middle;
  34         uint8_t attr;
  35         uint8_t attr_and_limit;
  36         uint8_t base_high;
  37 } global_descriptor_table[8];
  38 struct {
  39         uint16_t limit; /* sizeof (global_descriptor_table) - 1 */
  40         void     *base; /* &global_descriptor_table */
  41 } gdt_info;
  42 #pragma pack()
  43 
  44 #else   /* __lint */
  45 
  46         .align 16
  47         .data
  48         /*
  49          * This must remain in sync with the entries in intel/sys/gdt.h; in
  50          * particular kmdb uses B64CODE_SEL or B32CODE_SEL in perpetuity for
  51          * its IDT entries (they're copied to the kernel's GDT in init_idt()).
  52          */
  53 
  54 global_descriptor_table:
  55         .long   0
  56         .long   0
  57 
  58         /* GDT_B32DATA: 32 bit flat data descriptor */
  59         .value  0xFFFF  /* segment limit 0..15 */
  60         .value  0x0000  /* segment base 0..15 */
  61         .byte   0x0     /* segment base 16..23 */
  62         .byte   0x92    /* P = 1, read/write data */
  63         .byte   0xCF    /* G=1, B=1, Limit (16..19)=1111 */
  64         .byte   0x0     /* segment base 24..32 */
  65 


 126 fake_cpu_gdt_base_24_31:
 127         .byte   0x0     /* segment base 24..32 */
 128 
 129 /       .long   0
 130 /       .long   0
 131 
 132 gdt_info:
 133         .value  gdt_info - global_descriptor_table - 1
 134         .long   global_descriptor_table
 135         .long   0               /* needed for 64 bit */
 136 
 137 fake_cpu:
 138         .4byte 0
 139         .4byte 0
 140         .4byte 0
 141         .globl fake_cpu_ptr
 142 fake_cpu_ptr:
 143         .4byte 0
 144         .skip 0x6c0, 0
 145 
 146 #endif  /* __lint */


   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 
  27 


















  28         .align 16
  29         .data
  30         /*
  31          * This must remain in sync with the entries in intel/sys/gdt.h; in
  32          * particular kmdb uses B64CODE_SEL or B32CODE_SEL in perpetuity for
  33          * its IDT entries (they're copied to the kernel's GDT in init_idt()).
  34          */
  35 
  36 global_descriptor_table:
  37         .long   0
  38         .long   0
  39 
  40         /* GDT_B32DATA: 32 bit flat data descriptor */
  41         .value  0xFFFF  /* segment limit 0..15 */
  42         .value  0x0000  /* segment base 0..15 */
  43         .byte   0x0     /* segment base 16..23 */
  44         .byte   0x92    /* P = 1, read/write data */
  45         .byte   0xCF    /* G=1, B=1, Limit (16..19)=1111 */
  46         .byte   0x0     /* segment base 24..32 */
  47 


 108 fake_cpu_gdt_base_24_31:
 109         .byte   0x0     /* segment base 24..32 */
 110 
 111 /       .long   0
 112 /       .long   0
 113 
 114 gdt_info:
 115         .value  gdt_info - global_descriptor_table - 1
 116         .long   global_descriptor_table
 117         .long   0               /* needed for 64 bit */
 118 
 119 fake_cpu:
 120         .4byte 0
 121         .4byte 0
 122         .4byte 0
 123         .globl fake_cpu_ptr
 124 fake_cpu_ptr:
 125         .4byte 0
 126         .skip 0x6c0, 0
 127