Changeset c621f4aa in mainline for kernel/genarch/include


Ignore:
Timestamp:
2010-07-25T10:11:13Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
377cce8
Parents:
24a2517 (diff), a2da43c (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 with mainline.

Location:
kernel/genarch/include
Files:
3 added
24 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/acpi/acpi.h

    r24a2517 rc621f4aa  
    2727 */
    2828
    29 /** @addtogroup genarch 
     29/** @addtogroup genarch
    3030 * @{
    3131 */
     
    3636#define KERN_ACPI_H_
    3737
    38 #include <arch/types.h>
     38#include <typedefs.h>
    3939
    4040/* Root System Description Pointer */
     
    6262        uint32_t creator_id;
    6363        uint32_t creator_revision;
    64 } __attribute__ ((packed));;
     64} __attribute__ ((packed));
    6565
    6666struct acpi_signature_map {
    6767        uint8_t *signature;
    6868        struct acpi_sdt_header **sdt_ptr;
    69         char *description;
     69        const char *description;
    7070};
    7171
     
    7474        struct acpi_sdt_header header;
    7575        uint32_t entry[];
    76 } __attribute__ ((packed));;
     76} __attribute__ ((packed));
    7777
    7878/* Extended System Description Table */
     
    8080        struct acpi_sdt_header header;
    8181        uint64_t entry[];
    82 } __attribute__ ((packed));;
     82} __attribute__ ((packed));
    8383
    8484extern struct acpi_rsdp *acpi_rsdp;
  • kernel/genarch/include/acpi/madt.h

    r24a2517 rc621f4aa  
    2727 */
    2828
    29 /** @addtogroup genarch 
     29/** @addtogroup genarch
    3030 * @{
    3131 */
     
    4040#include <arch/smp/smp.h>
    4141
    42 #define MADT_L_APIC                     0
    43 #define MADT_IO_APIC                    1
    44 #define MADT_INTR_SRC_OVRD              2
    45 #define MADT_NMI_SRC                    3
    46 #define MADT_L_APIC_NMI                 4
    47 #define MADT_L_APIC_ADDR_OVRD           5
    48 #define MADT_IO_SAPIC                   6
    49 #define MADT_L_SAPIC                    7
    50 #define MADT_PLATFORM_INTR_SRC          8
    51 #define MADT_RESERVED_SKIP_BEGIN        9
    52 #define MADT_RESERVED_SKIP_END          127
    53 #define MADT_RESERVED_OEM_BEGIN         128
     42#define MADT_L_APIC               0
     43#define MADT_IO_APIC              1
     44#define MADT_INTR_SRC_OVRD        2
     45#define MADT_NMI_SRC              3
     46#define MADT_L_APIC_NMI           4
     47#define MADT_L_APIC_ADDR_OVRD     5
     48#define MADT_IO_SAPIC             6
     49#define MADT_L_SAPIC              7
     50#define MADT_PLATFORM_INTR_SRC    8
     51#define MADT_RESERVED_SKIP_BEGIN  9
     52#define MADT_RESERVED_SKIP_END    127
     53#define MADT_RESERVED_OEM_BEGIN   128
    5454
    5555struct madt_apic_header {
     
    5757        uint8_t length;
    5858} __attribute__ ((packed));
    59 
    6059
    6160/* Multiple APIC Description Table */
     
    7170        uint8_t acpi_id;
    7271        uint8_t apic_id;
    73         uint32_t flags; 
     72        uint32_t flags;
    7473} __attribute__ ((packed));
    7574
     
    7877        uint8_t io_apic_id;
    7978        uint8_t reserved;
    80         uint32_t io_apic_address;       
     79        uint32_t io_apic_address;
    8180        uint32_t global_intr_base;
    8281} __attribute__ ((packed));
     
    114113        uint8_t reserved;
    115114        uint32_t global_intr_base;
    116         uint64_t io_apic_address;               
     115        uint64_t io_apic_address;
    117116} __attribute__ ((packed));
    118117
  • kernel/genarch/include/drivers/dsrln/dsrlnin.h

    r24a2517 rc621f4aa  
    3939
    4040#include <ddi/irq.h>
    41 #include <arch/types.h>
    4241#include <console/chardev.h>
    4342#include <typedefs.h>
  • kernel/genarch/include/drivers/dsrln/dsrlnout.h

    r24a2517 rc621f4aa  
    3838#define KERN_DSRLNOUT_H_
    3939
    40 #include <arch/types.h>
    4140#include <typedefs.h>
    4241#include <console/chardev.h>
  • kernel/genarch/include/drivers/ega/ega.h

    r24a2517 rc621f4aa  
    3636#define KERN_EGA_H_
    3737
    38 #include <arch/types.h>
    3938#include <typedefs.h>
    4039#include <console/chardev.h>
  • kernel/genarch/include/drivers/i8042/i8042.h

    r24a2517 rc621f4aa  
    3737
    3838#include <ddi/irq.h>
    39 #include <arch/types.h>
    4039#include <console/chardev.h>
    4140#include <typedefs.h>
  • kernel/genarch/include/drivers/legacy/ia32/io.h

    r24a2517 rc621f4aa  
    3838#define KERN_LEGACY_IA32_IO_H
    3939
    40 #include <arch/types.h>
     40#include <typedefs.h>
    4141
    4242#define I8042_BASE    ((ioport8_t *) 0x60)
  • kernel/genarch/include/drivers/ns16550/ns16550.h

    r24a2517 rc621f4aa  
    3939
    4040#include <ddi/irq.h>
    41 #include <arch/types.h>
     41#include <typedefs.h>
    4242#include <console/chardev.h>
    4343
  • kernel/genarch/include/drivers/pl050/pl050.h

    r24a2517 rc621f4aa  
    4242
    4343#include <ddi/irq.h>
    44 #include <arch/types.h>
    4544#include <console/chardev.h>
    4645#include <typedefs.h>
     
    7372#define PL050_STAT_RXFULL       (1 << 4)        /* 1: register Full */
    7473#define PL050_STAT_RXBUSY       (1 << 3)        /* 1: Busy, recieving Data */
    75 #define PL050_STAT_RXPARITY     (1 << 2)        /* odd parity of the last bit recieved */
     74#define PL050_STAT_RXPARITY     (1 << 2)        /* odd parity of the last bit received */
    7675#define PL050_STAT_KMIC         (1 << 1)        /* status of KMICLKIN */
    7776#define PL050_STAT_KMID         1               /* status of KMIDATAIN */
  • kernel/genarch/include/drivers/via-cuda/cuda.h

    r24a2517 rc621f4aa  
    3737
    3838#include <ddi/irq.h>
    39 #include <arch/types.h>
     39#include <typedefs.h>
    4040#include <console/chardev.h>
    4141#include <synch/spinlock.h>
  • kernel/genarch/include/drivers/z8530/z8530.h

    r24a2517 rc621f4aa  
    3939
    4040#include <ddi/irq.h>
    41 #include <arch/types.h>
     41#include <typedefs.h>
    4242#include <console/chardev.h>
    4343
  • kernel/genarch/include/fb/fb.h

    r24a2517 rc621f4aa  
    3636#define KERN_FB_H_
    3737
    38 #include <arch/types.h>
     38#include <typedefs.h>
    3939#include <console/chardev.h>
    4040#include <genarch/fb/visuals.h>
  • kernel/genarch/include/fb/logo-196x66.h

    r24a2517 rc621f4aa  
    4040#define LOGO_COLOR   0xffffff
    4141
    42 #include <arch/types.h>
     42#include <typedefs.h>
    4343
    4444extern uint32_t fb_logo[LOGO_WIDTH * LOGO_HEIGHT];
  • kernel/genarch/include/mm/as_ht.h

    r24a2517 rc621f4aa  
    3838#include <mm/mm.h>
    3939#include <adt/list.h>
    40 #include <arch/types.h>
     40#include <typedefs.h>
    4141
    4242typedef struct {
  • kernel/genarch/include/mm/page_ht.h

    r24a2517 rc621f4aa  
    3232/**
    3333 * @file
    34  * @brief       This is the generic page hash table interface.
     34 * @brief This is the generic page hash table interface.
    3535 */
    3636
     
    4040#define KERN_PAGE_HT_H_
    4141
    42 #include <arch/types.h>
     42#include <typedefs.h>
    4343#include <mm/as.h>
    4444#include <mm/page.h>
     
    4646#include <adt/hash_table.h>
    4747
    48 #define PAGE_HT_KEYS    2
    49 #define KEY_AS          0
    50 #define KEY_PAGE        1
     48#define PAGE_HT_KEYS  2
     49#define KEY_AS        0
     50#define KEY_PAGE      1
    5151
    52 #define PAGE_HT_ENTRIES_BITS    13
    53 #define PAGE_HT_ENTRIES         (1 << PAGE_HT_ENTRIES_BITS)
     52#define PAGE_HT_ENTRIES_BITS  13
     53#define PAGE_HT_ENTRIES       (1 << PAGE_HT_ENTRIES_BITS)
    5454
    5555/* Macros for querying page hash table PTEs. */
    56 #define PTE_VALID(pte)          ((pte) != NULL)
    57 #define PTE_PRESENT(pte)        ((pte)->p != 0)
    58 #define PTE_GET_FRAME(pte)      ((pte)->frame)
    59 #define PTE_READABLE(pte)       1
    60 #define PTE_WRITABLE(pte)       ((pte)->w != 0)
    61 #define PTE_EXECUTABLE(pte)     ((pte)->x != 0)
     56#define PTE_VALID(pte)       ((pte) != NULL)
     57#define PTE_PRESENT(pte)     ((pte)->p != 0)
     58#define PTE_GET_FRAME(pte)   ((pte)->frame)
     59#define PTE_READABLE(pte)    1
     60#define PTE_WRITABLE(pte)    ((pte)->w != 0)
     61#define PTE_EXECUTABLE(pte)  ((pte)->x != 0)
    6262
    6363extern as_operations_t as_ht_operations;
  • kernel/genarch/include/mm/page_pt.h

    r24a2517 rc621f4aa  
    3737 * Architectures that use hierarchical page tables
    3838 * are supposed to implement *_ARCH macros.
     39 *
    3940 */
    4041
     
    4748#include <mm/page.h>
    4849#include <arch/mm/page.h>
    49 #include <arch/types.h>
     50#include <typedefs.h>
    5051
    5152/*
    5253 * Number of entries in each level.
    5354 */
    54 #define PTL0_ENTRIES                    PTL0_ENTRIES_ARCH
    55 #define PTL1_ENTRIES                    PTL1_ENTRIES_ARCH
    56 #define PTL2_ENTRIES                    PTL2_ENTRIES_ARCH
    57 #define PTL3_ENTRIES                    PTL3_ENTRIES_ARCH
     55#define PTL0_ENTRIES  PTL0_ENTRIES_ARCH
     56#define PTL1_ENTRIES  PTL1_ENTRIES_ARCH
     57#define PTL2_ENTRIES  PTL2_ENTRIES_ARCH
     58#define PTL3_ENTRIES  PTL3_ENTRIES_ARCH
    5859
    5960/* Table sizes in each level */
    60 #define PTL0_SIZE                       PTL0_SIZE_ARCH
    61 #define PTL1_SIZE                       PTL1_SIZE_ARCH
    62 #define PTL2_SIZE                       PTL2_SIZE_ARCH
    63 #define PTL3_SIZE                       PTL3_SIZE_ARCH
     61#define PTL0_SIZE  PTL0_SIZE_ARCH
     62#define PTL1_SIZE  PTL1_SIZE_ARCH
     63#define PTL2_SIZE  PTL2_SIZE_ARCH
     64#define PTL3_SIZE  PTL3_SIZE_ARCH
    6465
    6566/*
    6667 * These macros process vaddr and extract those portions
    6768 * of it that function as indices to respective page tables.
     69 *
    6870 */
    69 #define PTL0_INDEX(vaddr)               PTL0_INDEX_ARCH(vaddr)
    70 #define PTL1_INDEX(vaddr)               PTL1_INDEX_ARCH(vaddr)
    71 #define PTL2_INDEX(vaddr)               PTL2_INDEX_ARCH(vaddr)
    72 #define PTL3_INDEX(vaddr)               PTL3_INDEX_ARCH(vaddr)
     71#define PTL0_INDEX(vaddr)  PTL0_INDEX_ARCH(vaddr)
     72#define PTL1_INDEX(vaddr)  PTL1_INDEX_ARCH(vaddr)
     73#define PTL2_INDEX(vaddr)  PTL2_INDEX_ARCH(vaddr)
     74#define PTL3_INDEX(vaddr)  PTL3_INDEX_ARCH(vaddr)
    7375
    74 #define SET_PTL0_ADDRESS(ptl0)          SET_PTL0_ADDRESS_ARCH(ptl0)
     76#define SET_PTL0_ADDRESS(ptl0)  SET_PTL0_ADDRESS_ARCH(ptl0)
    7577
    7678/*
    7779 * These macros traverse the 4-level tree of page tables,
    7880 * each descending by one level.
     81 *
    7982 */
    80 #define GET_PTL1_ADDRESS(ptl0, i)       GET_PTL1_ADDRESS_ARCH(ptl0, i)
    81 #define GET_PTL2_ADDRESS(ptl1, i)       GET_PTL2_ADDRESS_ARCH(ptl1, i)
    82 #define GET_PTL3_ADDRESS(ptl2, i)       GET_PTL3_ADDRESS_ARCH(ptl2, i)
    83 #define GET_FRAME_ADDRESS(ptl3, i)      GET_FRAME_ADDRESS_ARCH(ptl3, i)
     83#define GET_PTL1_ADDRESS(ptl0, i)   GET_PTL1_ADDRESS_ARCH(ptl0, i)
     84#define GET_PTL2_ADDRESS(ptl1, i)   GET_PTL2_ADDRESS_ARCH(ptl1, i)
     85#define GET_PTL3_ADDRESS(ptl2, i)   GET_PTL3_ADDRESS_ARCH(ptl2, i)
     86#define GET_FRAME_ADDRESS(ptl3, i)  GET_FRAME_ADDRESS_ARCH(ptl3, i)
    8487
    8588/*
    8689 * These macros are provided to change the shape of the 4-level tree of page
    8790 * tables on respective level.
     91 *
    8892 */
    89 #define SET_PTL1_ADDRESS(ptl0, i, a)    SET_PTL1_ADDRESS_ARCH(ptl0, i, a)
    90 #define SET_PTL2_ADDRESS(ptl1, i, a)    SET_PTL2_ADDRESS_ARCH(ptl1, i, a)
    91 #define SET_PTL3_ADDRESS(ptl2, i, a)    SET_PTL3_ADDRESS_ARCH(ptl2, i, a)
    92 #define SET_FRAME_ADDRESS(ptl3, i, a)   SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
     93#define SET_PTL1_ADDRESS(ptl0, i, a)   SET_PTL1_ADDRESS_ARCH(ptl0, i, a)
     94#define SET_PTL2_ADDRESS(ptl1, i, a)   SET_PTL2_ADDRESS_ARCH(ptl1, i, a)
     95#define SET_PTL3_ADDRESS(ptl2, i, a)   SET_PTL3_ADDRESS_ARCH(ptl2, i, a)
     96#define SET_FRAME_ADDRESS(ptl3, i, a)  SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
    9397
    9498/*
    9599 * These macros are provided to query various flags within the page tables.
     100 *
    96101 */
    97 #define GET_PTL1_FLAGS(ptl0, i)         GET_PTL1_FLAGS_ARCH(ptl0, i)
    98 #define GET_PTL2_FLAGS(ptl1, i)         GET_PTL2_FLAGS_ARCH(ptl1, i)
    99 #define GET_PTL3_FLAGS(ptl2, i)         GET_PTL3_FLAGS_ARCH(ptl2, i)
    100 #define GET_FRAME_FLAGS(ptl3, i)        GET_FRAME_FLAGS_ARCH(ptl3, i)
     102#define GET_PTL1_FLAGS(ptl0, i)   GET_PTL1_FLAGS_ARCH(ptl0, i)
     103#define GET_PTL2_FLAGS(ptl1, i)   GET_PTL2_FLAGS_ARCH(ptl1, i)
     104#define GET_PTL3_FLAGS(ptl2, i)   GET_PTL3_FLAGS_ARCH(ptl2, i)
     105#define GET_FRAME_FLAGS(ptl3, i)  GET_FRAME_FLAGS_ARCH(ptl3, i)
    101106
    102107/*
    103108 * These macros are provided to set/clear various flags within the page tables.
     109 *
    104110 */
    105 #define SET_PTL1_FLAGS(ptl0, i, x)      SET_PTL1_FLAGS_ARCH(ptl0, i, x)
    106 #define SET_PTL2_FLAGS(ptl1, i, x)      SET_PTL2_FLAGS_ARCH(ptl1, i, x)
    107 #define SET_PTL3_FLAGS(ptl2, i, x)      SET_PTL3_FLAGS_ARCH(ptl2, i, x)
    108 #define SET_FRAME_FLAGS(ptl3, i, x)     SET_FRAME_FLAGS_ARCH(ptl3, i, x)
     111#define SET_PTL1_FLAGS(ptl0, i, x)   SET_PTL1_FLAGS_ARCH(ptl0, i, x)
     112#define SET_PTL2_FLAGS(ptl1, i, x)   SET_PTL2_FLAGS_ARCH(ptl1, i, x)
     113#define SET_PTL3_FLAGS(ptl2, i, x)   SET_PTL3_FLAGS_ARCH(ptl2, i, x)
     114#define SET_FRAME_FLAGS(ptl3, i, x)  SET_FRAME_FLAGS_ARCH(ptl3, i, x)
    109115
    110116/*
    111117 * Macros for querying the last-level PTEs.
     118 *
    112119 */
    113 #define PTE_VALID(p)            PTE_VALID_ARCH((p))
    114 #define PTE_PRESENT(p)          PTE_PRESENT_ARCH((p))
    115 #define PTE_GET_FRAME(p)        PTE_GET_FRAME_ARCH((p))
    116 #define PTE_READABLE(p)         1
    117 #define PTE_WRITABLE(p)         PTE_WRITABLE_ARCH((p))
    118 #define PTE_EXECUTABLE(p)       PTE_EXECUTABLE_ARCH((p))
     120#define PTE_VALID(p)       PTE_VALID_ARCH((p))
     121#define PTE_PRESENT(p)     PTE_PRESENT_ARCH((p))
     122#define PTE_GET_FRAME(p)   PTE_GET_FRAME_ARCH((p))
     123#define PTE_READABLE(p)    1
     124#define PTE_WRITABLE(p)    PTE_WRITABLE_ARCH((p))
     125#define PTE_EXECUTABLE(p)  PTE_EXECUTABLE_ARCH((p))
    119126
    120127extern as_operations_t as_pt_operations;
    121128extern page_mapping_operations_t pt_mapping_operations;
    122129
    123 extern void page_mapping_insert_pt(as_t *as, uintptr_t page, uintptr_t frame,
    124     int flags);
    125 extern pte_t *page_mapping_find_pt(as_t *as, uintptr_t page);
     130extern void page_mapping_insert_pt(as_t *, uintptr_t, uintptr_t, unsigned int);
     131extern pte_t *page_mapping_find_pt(as_t *, uintptr_t);
    126132
    127133#endif
  • kernel/genarch/include/multiboot/multiboot.h

    r24a2517 rc621f4aa  
    3636#define KERN_MULTIBOOT_H_
    3737
    38 #include <arch/types.h>
     38#include <typedefs.h>
    3939#include <arch/boot/memmap.h>
    4040
  • kernel/genarch/include/ofw/ebus.h

    r24a2517 rc621f4aa  
    3131
    3232#include <genarch/ofw/ofw_tree.h>
    33 #include <arch/types.h>
     33#include <typedefs.h>
    3434#include <ddi/irq.h>
    3535#include <typedefs.h>
  • kernel/genarch/include/ofw/fhc.h

    r24a2517 rc621f4aa  
    3131
    3232#include <genarch/ofw/ofw_tree.h>
    33 #include <arch/types.h>
     33#include <typedefs.h>
    3434#include <ddi/irq.h>
    3535#include <typedefs.h>
  • kernel/genarch/include/ofw/ofw_tree.h

    r24a2517 rc621f4aa  
    3030#define KERN_OFW_TREE_H_
    3131
    32 #include <arch/types.h>
    3332#include <typedefs.h>
    3433
    3534#define OFW_TREE_PROPERTY_MAX_NAMELEN  32
     35
     36typedef uint32_t phandle;
    3637
    3738/** Memory representation of OpenFirmware device tree node property. */
     
    4849        struct ofw_tree_node *child;
    4950       
    50         uint32_t node_handle;           /**< Old OpenFirmware node handle. */
     51        phandle node_handle;            /**< Old OpenFirmware node handle. */
    5152       
    5253        char *da_name;                  /**< Disambigued name. */
    5354       
    54         unsigned int properties;        /**< Number of properties. */
     55        size_t properties;              /**< Number of properties. */
    5556        ofw_tree_property_t *property;
    5657       
     
    8485    const char *);
    8586extern ofw_tree_node_t *ofw_tree_find_node_by_handle(ofw_tree_node_t *,
    86     uint32_t);
     87    phandle);
    8788
    8889#endif
  • kernel/genarch/include/ofw/pci.h

    r24a2517 rc621f4aa  
    3131
    3232#include <genarch/ofw/ofw_tree.h>
    33 #include <arch/types.h>
     33#include <typedefs.h>
    3434#include <ddi/irq.h>
    3535#include <typedefs.h>
  • kernel/genarch/include/ofw/sbus.h

    r24a2517 rc621f4aa  
    3131
    3232#include <genarch/ofw/ofw_tree.h>
    33 #include <arch/types.h>
     33#include <typedefs.h>
    3434#include <ddi/irq.h>
    3535#include <typedefs.h>
  • kernel/genarch/include/ofw/upa.h

    r24a2517 rc621f4aa  
    3131
    3232#include <genarch/ofw/ofw_tree.h>
    33 #include <arch/types.h>
     33#include <typedefs.h>
    3434#include <ddi/irq.h>
    3535#include <typedefs.h>
  • kernel/genarch/include/softint/division.h

    r24a2517 rc621f4aa  
    2727 */
    2828
    29 /** @addtogroup genarch 
     29/** @addtogroup genarch
    3030 * @{
    3131 */
Note: See TracChangeset for help on using the changeset viewer.