Changeset 7c5a8dd in mainline for kernel/arch/xen32/include


Ignore:
Timestamp:
2006-08-01T23:34:02Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
adf7f9c
Parents:
5b23a82
Message:

xen32: proper virtual traps, domU asynchronous console

Location:
kernel/arch/xen32/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/xen32/include/asm.h

    r5b23a82 r7c5a8dd  
    4242#include <config.h>
    4343
    44 extern uint32_t interrupt_handler_size;
    45 
    46 extern void interrupt_handlers(void);
    47 
    4844extern void enable_l_apic_in_msr(void);
    4945
  • kernel/arch/xen32/include/boot/boot.h

    r5b23a82 r7c5a8dd  
    4949
    5050#define mp_map ((pfn_t *) XEN_VIRT_START)
     51
     52#define SIF_PRIVILEGED  (1 << 0)  /**< Privileged domain */
     53#define SIF_INITDOMAIN  (1 << 1)  /**< Iinitial control domain */
    5154
    5255#include <arch/types.h>
     
    102105        pfn_t store_mfn;            /**< Shared page (machine page) */
    103106        evtchn_t store_evtchn;      /**< Event channel for store communication */
    104         void *console_mfn;          /**< Console page (machine address) */
     107        pfn_t console_mfn;          /**< Console page (machine page) */
    105108        evtchn_t console_evtchn;    /**< Event channel for console messages */
    106109        pte_t *ptl0;                /**< Boot PTL0 (kernel address) */
  • kernel/arch/xen32/include/hypercall.h

    r5b23a82 r7c5a8dd  
    4141        uint8_t flags;      /**< 0-3: privilege level; 4: clear event enable */
    4242        uint16_t cs;        /**< Code selector */
    43         uintptr_t address;  /**< Code offset */
     43        void *address;      /**< Code offset */
    4444} trap_info_t;
     45
     46
     47typedef struct {
     48        evtchn_t port;
     49} evtchn_send_t;
     50
     51typedef struct {
     52        uint32_t cmd;
     53        union {
     54                evtchn_send_t send;
     55    };
     56} evtchn_op_t;
    4557
    4658
     
    4961#define XEN_SET_CALLBACKS               4
    5062#define XEN_UPDATE_VA_MAPPING   14
     63#define XEN_EVENT_CHANNEL_OP    16
    5164#define XEN_VERSION                             17
    5265#define XEN_CONSOLE_IO                  18
     
    7992
    8093
     94#define EVTCHNOP_SEND                   4
     95
     96
    8197#define UVMF_NONE                               0        /**< No flushing at all */
    8298#define UVMF_TLB_FLUSH                  1        /**< Flush entire TLB(s) */
     
    227243}
    228244
     245static inline int xen_notify_remote(evtchn_t channel)
     246{
     247    evtchn_op_t op;
     248       
     249    op.cmd = EVTCHNOP_SEND;
     250    op.send.port = channel;
     251    return hypercall1(XEN_EVENT_CHANNEL_OP, &op);
     252}
     253
    229254#endif
Note: See TracChangeset for help on using the changeset viewer.