Changeset 39cea6a in mainline for arch/ia32/include/pm.h


Ignore:
Timestamp:
2006-04-13T17:38:03Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e185136
Parents:
897ad60
Message:

Cleanup pm.c and pm.h code on ia32 and amd64.
Add before_task_runs() and before_task_runs_arch() for each architecture.
Add ia32 and amd64 code to ensure I/O Permission Bitmap update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/pm.h

    r897ad60 r39cea6a  
    5656#define DPL_USER        (PL_USER<<5)
    5757
    58 #define IO_MAP_BASE     (104)
     58#define TSS_BASIC_SIZE  104
    5959
    6060#ifndef __ASM__
     
    6868        __u32 base;
    6969} __attribute__ ((packed));
     70typedef struct ptr_16_32 ptr_16_32_t;
    7071
    7172struct descriptor {
     
    8182        unsigned base_24_31: 8;
    8283} __attribute__ ((packed));
     84typedef struct descriptor  descriptor_t;
    8385
    8486struct idescriptor {
     
    8991        unsigned offset_16_31: 16;
    9092} __attribute__ ((packed));
    91 
     93typedef struct idescriptor idescriptor_t;
    9294
    9395struct tss {
     
    132134        __u8 iomap[0x10000+1];  /* 64K + 1 terminating byte */
    133135} __attribute__ ((packed));
     136typedef struct tss tss_t;
    134137
    135 extern struct ptr_16_32 gdtr;
    136 extern struct ptr_16_32 bootstrap_gdtr;
    137 extern struct ptr_16_32 protected_ap_gdtr;
     138extern ptr_16_32_t gdtr;
     139extern ptr_16_32_t bootstrap_gdtr;
     140extern ptr_16_32_t protected_ap_gdtr;
    138141extern struct tss *tss_p;
    139142
    140 extern struct descriptor gdt[];
     143extern descriptor_t gdt[];
    141144
    142145extern void pm_init(void);
    143146
    144 extern void gdt_setbase(struct descriptor *d, __address base);
    145 extern void gdt_setlimit(struct descriptor *d, __u32 limit);
     147extern void gdt_setbase(descriptor_t *d, __address base);
     148extern void gdt_setlimit(descriptor_t *d, __u32 limit);
    146149
    147150extern void idt_init(void);
    148 extern void idt_setoffset(struct idescriptor *d, __address offset);
     151extern void idt_setoffset(idescriptor_t *d, __address offset);
    149152
    150 extern void tss_initialize(struct tss *t);
     153extern void tss_initialize(tss_t *t);
    151154extern void set_tls_desc(__address tls);
    152155
Note: See TracChangeset for help on using the changeset viewer.