Subversion Repositories HelenOS

Rev

Rev 2014 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2014 Rev 2017
Line 115... Line 115...
115
    uint32_t frames;            /**< Available frames */
115
    uint32_t frames;            /**< Available frames */
116
    shared_info_t *shared_info; /**< Shared info structure (machine address) */
116
    shared_info_t *shared_info; /**< Shared info structure (machine address) */
117
    uint32_t flags;             /**< SIF_xxx flags */
117
    uint32_t flags;             /**< SIF_xxx flags */
118
    pfn_t store_mfn;            /**< Shared page (machine page) */
118
    pfn_t store_mfn;            /**< Shared page (machine page) */
119
    evtchn_t store_evtchn;      /**< Event channel for store communication */
119
    evtchn_t store_evtchn;      /**< Event channel for store communication */
-
 
120
   
-
 
121
    union {
-
 
122
        struct {
120
    pfn_t console_mfn;          /**< Console page (machine page) */
123
            pfn_t mfn;          /**< Console page (machine page) */
121
    evtchn_t console_evtchn;    /**< Event channel for console messages */
124
            evtchn_t evtchn;    /**< Event channel for console messages */
-
 
125
        } domU;
-
 
126
       
-
 
127
        struct {
-
 
128
            uint32_t info_off;  /**< Offset of console_info struct */
-
 
129
            uint32_t info_size; /**< Size of console_info struct from start */
-
 
130
        } dom0;
-
 
131
    } console;
-
 
132
   
122
    pte_t *ptl0;                /**< Boot PTL0 (kernel address) */
133
    pte_t *ptl0;                /**< Boot PTL0 (kernel address) */
123
    uint32_t pt_frames;         /**< Number of bootstrap page table frames */
134
    uint32_t pt_frames;         /**< Number of bootstrap page table frames */
124
    pfn_t *pm_map;              /**< Physical->machine frame map (kernel address) */
135
    pfn_t *pm_map;              /**< Physical->machine frame map (kernel address) */
125
    void *mod_start;            /**< Modules start (kernel address) */
136
    void *mod_start;            /**< Modules start (kernel address) */
126
    uint32_t mod_len;           /**< Modules size (bytes) */
137
    uint32_t mod_len;           /**< Modules size (bytes) */
127
    int8_t cmd_line[GUEST_CMDLINE];
138
    int8_t cmd_line[GUEST_CMDLINE];
128
} start_info_t;
139
} start_info_t;
129
 
140
 
-
 
141
#define XEN_CONSOLE_VGA     0x03
-
 
142
#define XEN_CONSOLE_VESA    0x23
-
 
143
 
-
 
144
typedef struct {
-
 
145
    uint8_t video_type;  
-
 
146
 
-
 
147
    union {
-
 
148
        struct {
-
 
149
            uint16_t font_height;
-
 
150
            uint16_t cursor_x;
-
 
151
            uint16_t cursor_y;
-
 
152
            uint16_t rows;
-
 
153
            uint16_t columns;
-
 
154
        } vga;
-
 
155
 
-
 
156
        struct {
-
 
157
            uint16_t width;
-
 
158
            uint16_t height;
-
 
159
            uint16_t bytes_per_line;
-
 
160
            uint16_t bits_per_pixel;
-
 
161
            uint32_t lfb_base;
-
 
162
            uint32_t lfb_size;
-
 
163
            uint8_t red_pos;
-
 
164
            uint8_t red_size;
-
 
165
            uint8_t green_pos;
-
 
166
            uint8_t green_size;
-
 
167
            uint8_t blue_pos;
-
 
168
            uint8_t blue_size;
-
 
169
            uint8_t rsvd_pos;
-
 
170
            uint8_t rsvd_size;
-
 
171
        } vesa_lfb;
-
 
172
    } info;
-
 
173
} console_info_t;
-
 
174
 
130
typedef struct {
175
typedef struct {
131
    pfn_t start;
176
    pfn_t start;
132
    pfn_t size;
177
    pfn_t size;
133
    pfn_t reserved;
178
    pfn_t reserved;
134
} memzone_t;
179
} memzone_t;