Changeset 86ffa27f in mainline for kernel/generic/include


Ignore:
Timestamp:
2011-08-07T11:21:44Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cc574511
Parents:
15f3c3f (diff), e8067c0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

Location:
kernel/generic/include
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/console/chardev.h

    r15f3c3f r86ffa27f  
    7373typedef struct {
    7474        /** Write character to output. */
    75         void (* write)(struct outdev *, wchar_t, bool);
     75        void (* write)(struct outdev *, wchar_t);
    7676       
    7777        /** Redraw any previously cached characters. */
  • kernel/generic/include/console/console.h

    r15f3c3f r86ffa27f  
    7272extern void release_console(void);
    7373
    74 extern sysarg_t sys_debug_enable_console(void);
    75 extern sysarg_t sys_debug_disable_console(void);
     74extern sysarg_t sys_debug_activate_console(void);
    7675
    7776#endif /* KERN_CONSOLE_H_ */
  • kernel/generic/include/ddi/ddi.h

    r15f3c3f r86ffa27f  
    4848        pfn_t frames;     /**< Number of frames in the area. */
    4949        bool unpriv;      /**< Allow mapping by unprivileged tasks. */
     50        bool mapped;      /**< Indicate whether the area is actually
     51                               mapped. */
    5052} parea_t;
    5153
  • kernel/generic/include/lib/elf.h

    r15f3c3f r86ffa27f  
    106106#define ELFDATA2LSB  1  /* Least significant byte first (little endian) */
    107107#define ELFDATA2MSB  2  /* Most signigicant byte first (big endian) */
    108 
    109 /**
    110  * ELF error return codes
    111  */
    112 #define EE_OK             0  /* No error */
    113 #define EE_INVALID        1  /* Invalid ELF image */
    114 #define EE_MEMORY         2  /* Cannot allocate address space */
    115 #define EE_INCOMPATIBLE   3  /* ELF image is not compatible with current architecture */
    116 #define EE_UNSUPPORTED    4  /* Non-supported ELF (e.g. dynamic ELFs) */
    117 #define EE_LOADER         5  /* The image is actually a program loader */
    118 #define EE_IRRECOVERABLE  6
    119108
    120109/**
     
    149138#define SHF_MASKPROC   0xf0000000
    150139
     140/** Macros for decomposing elf_symbol.st_info into binging and type */
     141#define ELF_ST_BIND(i)     ((i) >> 4)
     142#define ELF_ST_TYPE(i)     ((i) & 0x0f)
     143#define ELF_ST_INFO(b, t)  (((b) << 4) + ((t) & 0x0f))
     144
    151145/**
    152146 * Symbol binding
     
    195189 * ELF object file specifications. They are the only types used
    196190 * in ELF header.
    197  *
    198191 */
    199192typedef uint64_t elf_xword;
     
    207200 *
    208201 * These types are specific for 32-bit format.
    209  *
    210202 */
    211203typedef uint32_t elf32_addr;
     
    216208 *
    217209 * These types are specific for 64-bit format.
    218  *
    219210 */
    220211typedef uint64_t elf64_addr;
     
    332323};
    333324
     325/*
     326 * ELF note segment entry
     327 */
     328struct elf32_note {
     329        elf_word namesz;
     330        elf_word descsz;
     331        elf_word type;
     332};
     333
     334/*
     335 * NOTE: namesz, descsz and type should be 64-bits wide (elf_xword)
     336 * per the 64-bit ELF spec. The Linux kernel however screws up and
     337 * defines them as Elf64_Word, which is 32-bits wide(!). We are trying
     338 * to make our core files compatible with Linux GDB target so we copy
     339 * the blunder here.
     340 */
     341struct elf64_note {
     342        elf_word namesz;
     343        elf_word descsz;
     344        elf_word type;
     345};
     346
    334347#ifdef __32_BITS__
    335348typedef struct elf32_header elf_header_t;
     
    337350typedef struct elf32_section_header elf_section_header_t;
    338351typedef struct elf32_symbol elf_symbol_t;
     352typedef struct elf32_note elf_note_t;
    339353#endif
    340354
     
    344358typedef struct elf64_section_header elf_section_header_t;
    345359typedef struct elf64_symbol elf_symbol_t;
     360typedef struct elf64_note elf_note_t;
    346361#endif
    347 
    348 extern const char *elf_error(unsigned int rc);
    349362
    350363/** Interpreter string used to recognize the program loader */
  • kernel/generic/include/mm/as.h

    r15f3c3f r86ffa27f  
    6565#include <arch/mm/as.h>
    6666#include <arch/mm/asid.h>
     67#include <arch/istate.h>
    6768#include <typedefs.h>
    6869#include <synch/spinlock.h>
     
    306307extern mem_backend_t phys_backend;
    307308
    308 /**
    309  * This flags is passed when running the loader, otherwise elf_load()
    310  * would return with a EE_LOADER error code.
    311  *
    312  */
    313 #define ELD_F_NONE    0
    314 #define ELD_F_LOADER  1
    315 
    316 extern unsigned int elf_load(elf_header_t *, as_t *, unsigned int);
    317 
    318309/* Address space area related syscalls. */
    319310extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int);
  • kernel/generic/include/panic.h

    r15f3c3f r86ffa27f  
    6060struct istate;
    6161
    62 extern bool silent;
     62extern bool console_override;
    6363
    6464extern void panic_common(panic_category_t, struct istate *, int,
  • kernel/generic/include/syscall/syscall.h

    r15f3c3f r86ffa27f  
    9494        SYS_SYSINFO_GET_DATA,
    9595       
    96         SYS_DEBUG_ENABLE_CONSOLE,
    97         SYS_DEBUG_DISABLE_CONSOLE,
     96        SYS_DEBUG_ACTIVATE_CONSOLE,
    9897       
    9998        SYSCALL_END
Note: See TracChangeset for help on using the changeset viewer.