Changeset dabe6333 in mainline for generic


Ignore:
Timestamp:
2006-03-16T15:56:40Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1ee9ced
Parents:
37e7d2b9
Message:

Added null console for buffering output when no real output available.
Added identity mapper for AMD64 that allows whole physical memory to be
accessed before paging is initialized.

Location:
generic
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • generic/include/ipc/ipc.h

    r37e7d2b9 rdabe6333  
    3838
    3939/* Flags for calls */
    40 #define IPC_CALL_ANSWERED      1 /**< This is answer to a call */
    41 #define IPC_CALL_STATIC_ALLOC  2 /**< This call will not be freed on error */
     40#define IPC_CALL_ANSWERED      0x1 /**< This is answer to a call */
     41#define IPC_CALL_STATIC_ALLOC  0x2 /**< This call will not be freed on error */
     42#define IPC_CALL_DISPATCHED    0x4 /**< Call is in dispatch queue */
    4243
    4344/* Flags for ipc_wait_for_call */
  • generic/src/console/console.c

    r37e7d2b9 rdabe6333  
    3939#include <arch/atomic.h>
    4040
     41#define BUFLEN 2048
     42static char debug_buffer[BUFLEN];
     43static size_t offset = 0;
     44/** Initialize stdout to something that does not print, but does not fail
     45 *
     46 * Save data in some buffer so that it could be retrieved in the debugger
     47 */
     48static void null_putchar(chardev_t *d, const char ch)
     49{
     50        if (offset >= BUFLEN)
     51                offset = 0;
     52        debug_buffer[offset++] = ch;
     53}
     54
     55static chardev_operations_t null_stdout_ops = {
     56        .write = null_putchar
     57};
     58chardev_t null_stdout = {
     59        .name = "null",
     60        .op = &null_stdout_ops
     61};
     62
    4163/** Standard input character device. */
    4264chardev_t *stdin = NULL;
    43 chardev_t *stdout = NULL;
     65chardev_t *stdout = &null_stdout;
    4466
    4567/** Get character from character device. Do not echo character.
  • generic/src/ipc/ipc.c

    r37e7d2b9 rdabe6333  
    185185        answerbox_t *callerbox = request->callerbox;
    186186
     187        request->flags &= ~IPC_CALL_DISPATCHED;
    187188        request->flags |= IPC_CALL_ANSWERED;
    188189
     
    218219                        /* Append request to dispatch queue */
    219220                        list_append(&request->list, &box->dispatched_calls);
     221                        request->flags |= IPC_CALL_DISPATCHED;
    220222                } else {
    221223                        if (!(flags & IPC_WAIT_NONBLOCKING)) {
Note: See TracChangeset for help on using the changeset viewer.