Changeset b3f8fb7 in mainline for kernel/genarch/include


Ignore:
Timestamp:
2007-01-28T13:25:49Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e8c1a5
Parents:
1ba41c5
Message:

huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes

Location:
kernel/genarch/include
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/kbd/i8042.h

    r1ba41c5 rb3f8fb7  
    3636#define KERN_I8042_H_
    3737
    38 #include <typedefs.h>
     38#include <console/chardev.h>
    3939
    4040extern void i8042_init(devno_t kbd_devno, inr_t kbd_inr, devno_t mouse_devno, inr_t mouse_inr);
  • kernel/genarch/include/kbd/key.h

    r1ba41c5 rb3f8fb7  
    3838
    3939#include <arch/types.h>
    40 #include <typedefs.h>
     40#include <console/chardev.h>
    4141
    4242#define KEY_RELEASE     0x80
  • kernel/genarch/include/kbd/ns16550.h

    r1ba41c5 rb3f8fb7  
    3838#define KERN_NS16550_H_
    3939
    40 #include <typedefs.h>
    41 #include <ddi/irq.h>
     40#include <console/chardev.h>
     41#include <ipc/irq.h>
    4242
    4343extern void ns16550_init(devno_t devno, inr_t inr, uintptr_t vaddr);
  • kernel/genarch/include/kbd/z8530.h

    r1ba41c5 rb3f8fb7  
    3838#define KERN_Z8530_H_
    3939
    40 #include <typedefs.h>
    41 #include <ddi/irq.h>
     40#include <console/chardev.h>
     41#include <ipc/irq.h>
    4242
    4343extern bool z8530_belongs_to_kernel;
  • kernel/genarch/include/mm/as_ht.h

    r1ba41c5 rb3f8fb7  
    3636#define KERN_AS_HT_H_
    3737
    38 #include <mm/as.h>
     38#include <mm/mm.h>
     39#include <arch/mm/asid.h>
     40#include <adt/list.h>
     41#include <adt/btree.h>
     42#include <synch/mutex.h>
    3943
    40 extern as_operations_t as_ht_operations;
     44/** Address space structure.
     45 *
     46 * as_t contains the list of as_areas of userspace accessible
     47 * pages for one or more tasks. Ranges of kernel memory pages are not
     48 * supposed to figure in the list as they are shared by all tasks and
     49 * set up during system initialization.
     50 */
     51typedef struct {
     52        /** Protected by asidlock. */
     53        link_t inactive_as_with_asid_link;
     54
     55        mutex_t lock;
     56
     57        /** Number of references (i.e tasks that reference this as). */
     58        count_t refcount;
     59
     60        /** Number of processors on wich is this address space active. */
     61        count_t cpu_refcount;
     62
     63        /** B+tree of address space areas. */
     64        btree_t as_area_btree;
     65
     66        /** Address space identifier. Constant on architectures that do not support ASIDs.*/
     67        asid_t asid;
     68       
     69        /** Architecture specific content. */
     70        as_arch_t arch;
     71} as_t;
     72
     73typedef struct {
     74        link_t link;            /**< Page hash table link. */
     75        as_t *as;               /**< Address space. */
     76        uintptr_t page;         /**< Virtual memory page. */
     77        uintptr_t frame;        /**< Physical memory frame. */
     78        unsigned g : 1;         /**< Global page. */
     79        unsigned x : 1;         /**< Execute. */
     80        unsigned w : 1;         /**< Writable. */
     81        unsigned k : 1;         /**< Kernel privileges required. */
     82        unsigned c : 1;         /**< Cacheable. */
     83        unsigned a : 1;         /**< Accessed. */
     84        unsigned d : 1;         /**< Dirty. */
     85        unsigned p : 1;         /**< Present. */
     86} pte_t;
    4187
    4288#endif
  • kernel/genarch/include/mm/as_pt.h

    r1ba41c5 rb3f8fb7  
    3636#define KERN_AS_PT_H_
    3737
    38 #include <mm/as.h>
     38#include <mm/mm.h>
     39#include <arch/mm/asid.h>
     40#include <adt/list.h>
     41#include <adt/btree.h>
     42#include <synch/mutex.h>
    3943
    40 extern as_operations_t as_pt_operations;
     44#define AS_PAGE_TABLE
     45
     46/** Address space structure.
     47 *
     48 * as_t contains the list of as_areas of userspace accessible
     49 * pages for one or more tasks. Ranges of kernel memory pages are not
     50 * supposed to figure in the list as they are shared by all tasks and
     51 * set up during system initialization.
     52 */
     53typedef struct {
     54        /** Protected by asidlock. */
     55        link_t inactive_as_with_asid_link;
     56
     57        mutex_t lock;
     58
     59        /** Number of references (i.e tasks that reference this as). */
     60        count_t refcount;
     61
     62        /** Number of processors on wich is this address space active. */
     63        count_t cpu_refcount;
     64
     65        /** B+tree of address space areas. */
     66        btree_t as_area_btree;
     67       
     68        /** Page table pointer. */
     69        pte_t *page_table;
     70
     71        /** Address space identifier. Constant on architectures that do not support ASIDs.*/
     72        asid_t asid;
     73       
     74        /** Architecture specific content. */
     75        as_arch_t arch;
     76} as_t;
    4177
    4278#endif
  • kernel/genarch/include/mm/page_ht.h

    r1ba41c5 rb3f8fb7  
    4040#define KERN_PAGE_HT_H_
    4141
     42#include <arch/types.h>
     43#include <mm/as.h>
    4244#include <mm/page.h>
    4345#include <synch/mutex.h>
    44 #include <arch/types.h>
    45 #include <adt/list.h>
    4646#include <adt/hash_table.h>
    4747
     
    6262#define SET_PTL0_ADDRESS(x)
    6363
    64 struct pte {
    65         link_t link;            /**< Page hash table link. */
    66         as_t *as;               /**< Address space. */
    67         uintptr_t page;         /**< Virtual memory page. */
    68         uintptr_t frame;        /**< Physical memory frame. */
    69         unsigned g : 1;         /**< Global page. */
    70         unsigned x : 1;         /**< Execute. */
    71         unsigned w : 1;         /**< Writable. */
    72         unsigned k : 1;         /**< Kernel privileges required. */
    73         unsigned c : 1;         /**< Cacheable. */
    74         unsigned a : 1;         /**< Accessed. */
    75         unsigned d : 1;         /**< Dirty. */
    76         unsigned p : 1;         /**< Present. */
    77 };
     64extern as_operations_t as_ht_operations;
     65extern page_mapping_operations_t ht_mapping_operations;
    7866
    79 extern page_mapping_operations_t ht_mapping_operations;
    8067extern mutex_t page_ht_lock;
    8168extern hash_table_t page_ht;
  • kernel/genarch/include/mm/page_pt.h

    r1ba41c5 rb3f8fb7  
    4545
    4646#include <arch/types.h>
    47 #include <typedefs.h>
     47#include <mm/as.h>
    4848#include <mm/page.h>
    4949
     
    108108#define PTE_EXECUTABLE(p)       PTE_EXECUTABLE_ARCH((p))
    109109
     110extern as_operations_t as_pt_operations;
    110111extern page_mapping_operations_t pt_mapping_operations;
    111112
  • kernel/genarch/include/ofw/ofw_tree.h

    r1ba41c5 rb3f8fb7  
    3131
    3232#include <arch/types.h>
    33 #include <typedefs.h>
    3433
    3534#define OFW_TREE_PROPERTY_MAX_NAMELEN   32
Note: See TracChangeset for help on using the changeset viewer.