Ignore:
Timestamp:
2006-08-02T00:00:39Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
deaa22f
Parents:
7c5a8dd
Message:

remap console page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/xen32/src/drivers/xconsole.c

    r7c5a8dd radf7f9c  
    4040#include <console/console.h>
    4141#include <arch/hypercall.h>
    42 #include <mm/frame.h>
    4342
    4443#define MASK_INDEX(index, ring) ((index) & (sizeof(ring) - 1))
    45 
    46 typedef struct {
    47         char in[1024];
    48         char out[2048];
    49     uint32_t in_cons;
    50         uint32_t in_prod;
    51     uint32_t out_cons;
    52         uint32_t out_prod;
    53 } xencons_t;
    5444
    5545static bool asynchronous = false;
     
    7262{
    7363        if (asynchronous) {
    74                 xencons_t *console = (xencons_t *) PA2KA(MA2PA(PFN2ADDR(start_info.console_mfn)));
    75                 uint32_t cons = console->out_cons;
    76                 uint32_t prod = console->out_prod;
     64                uint32_t cons = console_page.out_cons;
     65                uint32_t prod = console_page.out_prod;
    7766               
    7867                memory_barrier();
    7968               
    80                 if ((prod - cons) > sizeof(console->out))
     69                if ((prod - cons) > sizeof(console_page.out))
    8170                        return;
    8271               
    8372                if (ch == '\n')
    84                         console->out[MASK_INDEX(prod++, console->out)] = '\r';
    85                 console->out[MASK_INDEX(prod++, console->out)] = ch;
     73                        console_page.out[MASK_INDEX(prod++, console_page.out)] = '\r';
     74                console_page.out[MASK_INDEX(prod++, console_page.out)] = ch;
    8675               
    8776                write_barrier();
    8877               
    89                 console->out_prod = prod;
     78                console_page.out_prod = prod;
    9079               
    9180                xen_notify_remote(start_info.console_evtchn);
Note: See TracChangeset for help on using the changeset viewer.