Changeset c621f4aa in mainline for kernel/genarch/include
- Timestamp:
- 2010-07-25T10:11:13Z (16 years ago)
- 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. - Location:
- kernel/genarch/include
- Files:
-
- 3 added
- 24 edited
-
acpi/acpi.h (modified) (5 diffs)
-
acpi/madt.h (modified) (6 diffs)
-
drivers/dsrln/dsrlnin.h (modified) (1 diff)
-
drivers/dsrln/dsrlnout.h (modified) (1 diff)
-
drivers/ega/ega.h (modified) (1 diff)
-
drivers/i8042/i8042.h (modified) (1 diff)
-
drivers/legacy/ia32/io.h (modified) (1 diff)
-
drivers/ns16550/ns16550.h (modified) (1 diff)
-
drivers/pl050/pl050.h (modified) (2 diffs)
-
drivers/s3c24xx_irqc/s3c24xx_irqc.h (added)
-
drivers/s3c24xx_timer/s3c24xx_timer.h (added)
-
drivers/s3c24xx_uart/s3c24xx_uart.h (added)
-
drivers/via-cuda/cuda.h (modified) (1 diff)
-
drivers/z8530/z8530.h (modified) (1 diff)
-
fb/fb.h (modified) (1 diff)
-
fb/logo-196x66.h (modified) (1 diff)
-
mm/as_ht.h (modified) (1 diff)
-
mm/page_ht.h (modified) (3 diffs)
-
mm/page_pt.h (modified) (2 diffs)
-
multiboot/multiboot.h (modified) (1 diff)
-
ofw/ebus.h (modified) (1 diff)
-
ofw/fhc.h (modified) (1 diff)
-
ofw/ofw_tree.h (modified) (3 diffs)
-
ofw/pci.h (modified) (1 diff)
-
ofw/sbus.h (modified) (1 diff)
-
ofw/upa.h (modified) (1 diff)
-
softint/division.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/acpi/acpi.h
r24a2517 rc621f4aa 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ … … 36 36 #define KERN_ACPI_H_ 37 37 38 #include < arch/types.h>38 #include <typedefs.h> 39 39 40 40 /* Root System Description Pointer */ … … 62 62 uint32_t creator_id; 63 63 uint32_t creator_revision; 64 } __attribute__ ((packed)); ;64 } __attribute__ ((packed)); 65 65 66 66 struct acpi_signature_map { 67 67 uint8_t *signature; 68 68 struct acpi_sdt_header **sdt_ptr; 69 c har *description;69 const char *description; 70 70 }; 71 71 … … 74 74 struct acpi_sdt_header header; 75 75 uint32_t entry[]; 76 } __attribute__ ((packed)); ;76 } __attribute__ ((packed)); 77 77 78 78 /* Extended System Description Table */ … … 80 80 struct acpi_sdt_header header; 81 81 uint64_t entry[]; 82 } __attribute__ ((packed)); ;82 } __attribute__ ((packed)); 83 83 84 84 extern struct acpi_rsdp *acpi_rsdp; -
kernel/genarch/include/acpi/madt.h
r24a2517 rc621f4aa 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ … … 40 40 #include <arch/smp/smp.h> 41 41 42 #define MADT_L_APIC043 #define MADT_IO_APIC 144 #define MADT_INTR_SRC_OVRD 245 #define MADT_NMI_SRC 346 #define MADT_L_APIC_NMI 447 #define MADT_L_APIC_ADDR_OVRD 548 #define MADT_IO_SAPIC 649 #define MADT_L_SAPIC 750 #define MADT_PLATFORM_INTR_SRC 851 #define MADT_RESERVED_SKIP_BEGIN 952 #define MADT_RESERVED_SKIP_END 12753 #define MADT_RESERVED_OEM_BEGIN 12842 #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 54 54 55 55 struct madt_apic_header { … … 57 57 uint8_t length; 58 58 } __attribute__ ((packed)); 59 60 59 61 60 /* Multiple APIC Description Table */ … … 71 70 uint8_t acpi_id; 72 71 uint8_t apic_id; 73 uint32_t flags; 72 uint32_t flags; 74 73 } __attribute__ ((packed)); 75 74 … … 78 77 uint8_t io_apic_id; 79 78 uint8_t reserved; 80 uint32_t io_apic_address; 79 uint32_t io_apic_address; 81 80 uint32_t global_intr_base; 82 81 } __attribute__ ((packed)); … … 114 113 uint8_t reserved; 115 114 uint32_t global_intr_base; 116 uint64_t io_apic_address; 115 uint64_t io_apic_address; 117 116 } __attribute__ ((packed)); 118 117 -
kernel/genarch/include/drivers/dsrln/dsrlnin.h
r24a2517 rc621f4aa 39 39 40 40 #include <ddi/irq.h> 41 #include <arch/types.h>42 41 #include <console/chardev.h> 43 42 #include <typedefs.h> -
kernel/genarch/include/drivers/dsrln/dsrlnout.h
r24a2517 rc621f4aa 38 38 #define KERN_DSRLNOUT_H_ 39 39 40 #include <arch/types.h>41 40 #include <typedefs.h> 42 41 #include <console/chardev.h> -
kernel/genarch/include/drivers/ega/ega.h
r24a2517 rc621f4aa 36 36 #define KERN_EGA_H_ 37 37 38 #include <arch/types.h>39 38 #include <typedefs.h> 40 39 #include <console/chardev.h> -
kernel/genarch/include/drivers/i8042/i8042.h
r24a2517 rc621f4aa 37 37 38 38 #include <ddi/irq.h> 39 #include <arch/types.h>40 39 #include <console/chardev.h> 41 40 #include <typedefs.h> -
kernel/genarch/include/drivers/legacy/ia32/io.h
r24a2517 rc621f4aa 38 38 #define KERN_LEGACY_IA32_IO_H 39 39 40 #include < arch/types.h>40 #include <typedefs.h> 41 41 42 42 #define I8042_BASE ((ioport8_t *) 0x60) -
kernel/genarch/include/drivers/ns16550/ns16550.h
r24a2517 rc621f4aa 39 39 40 40 #include <ddi/irq.h> 41 #include < arch/types.h>41 #include <typedefs.h> 42 42 #include <console/chardev.h> 43 43 -
kernel/genarch/include/drivers/pl050/pl050.h
r24a2517 rc621f4aa 42 42 43 43 #include <ddi/irq.h> 44 #include <arch/types.h>45 44 #include <console/chardev.h> 46 45 #include <typedefs.h> … … 73 72 #define PL050_STAT_RXFULL (1 << 4) /* 1: register Full */ 74 73 #define PL050_STAT_RXBUSY (1 << 3) /* 1: Busy, recieving Data */ 75 #define PL050_STAT_RXPARITY (1 << 2) /* odd parity of the last bit rec ieved */74 #define PL050_STAT_RXPARITY (1 << 2) /* odd parity of the last bit received */ 76 75 #define PL050_STAT_KMIC (1 << 1) /* status of KMICLKIN */ 77 76 #define PL050_STAT_KMID 1 /* status of KMIDATAIN */ -
kernel/genarch/include/drivers/via-cuda/cuda.h
r24a2517 rc621f4aa 37 37 38 38 #include <ddi/irq.h> 39 #include < arch/types.h>39 #include <typedefs.h> 40 40 #include <console/chardev.h> 41 41 #include <synch/spinlock.h> -
kernel/genarch/include/drivers/z8530/z8530.h
r24a2517 rc621f4aa 39 39 40 40 #include <ddi/irq.h> 41 #include < arch/types.h>41 #include <typedefs.h> 42 42 #include <console/chardev.h> 43 43 -
kernel/genarch/include/fb/fb.h
r24a2517 rc621f4aa 36 36 #define KERN_FB_H_ 37 37 38 #include < arch/types.h>38 #include <typedefs.h> 39 39 #include <console/chardev.h> 40 40 #include <genarch/fb/visuals.h> -
kernel/genarch/include/fb/logo-196x66.h
r24a2517 rc621f4aa 40 40 #define LOGO_COLOR 0xffffff 41 41 42 #include < arch/types.h>42 #include <typedefs.h> 43 43 44 44 extern uint32_t fb_logo[LOGO_WIDTH * LOGO_HEIGHT]; -
kernel/genarch/include/mm/as_ht.h
r24a2517 rc621f4aa 38 38 #include <mm/mm.h> 39 39 #include <adt/list.h> 40 #include < arch/types.h>40 #include <typedefs.h> 41 41 42 42 typedef struct { -
kernel/genarch/include/mm/page_ht.h
r24a2517 rc621f4aa 32 32 /** 33 33 * @file 34 * @brief This is the generic page hash table interface.34 * @brief This is the generic page hash table interface. 35 35 */ 36 36 … … 40 40 #define KERN_PAGE_HT_H_ 41 41 42 #include < arch/types.h>42 #include <typedefs.h> 43 43 #include <mm/as.h> 44 44 #include <mm/page.h> … … 46 46 #include <adt/hash_table.h> 47 47 48 #define PAGE_HT_KEYS 249 #define KEY_AS 050 #define KEY_PAGE 148 #define PAGE_HT_KEYS 2 49 #define KEY_AS 0 50 #define KEY_PAGE 1 51 51 52 #define PAGE_HT_ENTRIES_BITS 1353 #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) 54 54 55 55 /* 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) 160 #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) 62 62 63 63 extern as_operations_t as_ht_operations; -
kernel/genarch/include/mm/page_pt.h
r24a2517 rc621f4aa 37 37 * Architectures that use hierarchical page tables 38 38 * are supposed to implement *_ARCH macros. 39 * 39 40 */ 40 41 … … 47 48 #include <mm/page.h> 48 49 #include <arch/mm/page.h> 49 #include < arch/types.h>50 #include <typedefs.h> 50 51 51 52 /* 52 53 * Number of entries in each level. 53 54 */ 54 #define PTL0_ENTRIES PTL0_ENTRIES_ARCH55 #define PTL1_ENTRIES PTL1_ENTRIES_ARCH56 #define PTL2_ENTRIES PTL2_ENTRIES_ARCH57 #define PTL3_ENTRIES PTL3_ENTRIES_ARCH55 #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 58 59 59 60 /* Table sizes in each level */ 60 #define PTL0_SIZE PTL0_SIZE_ARCH61 #define PTL1_SIZE PTL1_SIZE_ARCH62 #define PTL2_SIZE PTL2_SIZE_ARCH63 #define PTL3_SIZE PTL3_SIZE_ARCH61 #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 64 65 65 66 /* 66 67 * These macros process vaddr and extract those portions 67 68 * of it that function as indices to respective page tables. 69 * 68 70 */ 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) 73 75 74 #define SET_PTL0_ADDRESS(ptl0) SET_PTL0_ADDRESS_ARCH(ptl0)76 #define SET_PTL0_ADDRESS(ptl0) SET_PTL0_ADDRESS_ARCH(ptl0) 75 77 76 78 /* 77 79 * These macros traverse the 4-level tree of page tables, 78 80 * each descending by one level. 81 * 79 82 */ 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) 84 87 85 88 /* 86 89 * These macros are provided to change the shape of the 4-level tree of page 87 90 * tables on respective level. 91 * 88 92 */ 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) 93 97 94 98 /* 95 99 * These macros are provided to query various flags within the page tables. 100 * 96 101 */ 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) 101 106 102 107 /* 103 108 * These macros are provided to set/clear various flags within the page tables. 109 * 104 110 */ 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) 109 115 110 116 /* 111 117 * Macros for querying the last-level PTEs. 118 * 112 119 */ 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) 1117 #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)) 119 126 120 127 extern as_operations_t as_pt_operations; 121 128 extern page_mapping_operations_t pt_mapping_operations; 122 129 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); 130 extern void page_mapping_insert_pt(as_t *, uintptr_t, uintptr_t, unsigned int); 131 extern pte_t *page_mapping_find_pt(as_t *, uintptr_t); 126 132 127 133 #endif -
kernel/genarch/include/multiboot/multiboot.h
r24a2517 rc621f4aa 36 36 #define KERN_MULTIBOOT_H_ 37 37 38 #include < arch/types.h>38 #include <typedefs.h> 39 39 #include <arch/boot/memmap.h> 40 40 -
kernel/genarch/include/ofw/ebus.h
r24a2517 rc621f4aa 31 31 32 32 #include <genarch/ofw/ofw_tree.h> 33 #include < arch/types.h>33 #include <typedefs.h> 34 34 #include <ddi/irq.h> 35 35 #include <typedefs.h> -
kernel/genarch/include/ofw/fhc.h
r24a2517 rc621f4aa 31 31 32 32 #include <genarch/ofw/ofw_tree.h> 33 #include < arch/types.h>33 #include <typedefs.h> 34 34 #include <ddi/irq.h> 35 35 #include <typedefs.h> -
kernel/genarch/include/ofw/ofw_tree.h
r24a2517 rc621f4aa 30 30 #define KERN_OFW_TREE_H_ 31 31 32 #include <arch/types.h>33 32 #include <typedefs.h> 34 33 35 34 #define OFW_TREE_PROPERTY_MAX_NAMELEN 32 35 36 typedef uint32_t phandle; 36 37 37 38 /** Memory representation of OpenFirmware device tree node property. */ … … 48 49 struct ofw_tree_node *child; 49 50 50 uint32_t node_handle;/**< Old OpenFirmware node handle. */51 phandle node_handle; /**< Old OpenFirmware node handle. */ 51 52 52 53 char *da_name; /**< Disambigued name. */ 53 54 54 unsigned int properties;/**< Number of properties. */55 size_t properties; /**< Number of properties. */ 55 56 ofw_tree_property_t *property; 56 57 … … 84 85 const char *); 85 86 extern ofw_tree_node_t *ofw_tree_find_node_by_handle(ofw_tree_node_t *, 86 uint32_t);87 phandle); 87 88 88 89 #endif -
kernel/genarch/include/ofw/pci.h
r24a2517 rc621f4aa 31 31 32 32 #include <genarch/ofw/ofw_tree.h> 33 #include < arch/types.h>33 #include <typedefs.h> 34 34 #include <ddi/irq.h> 35 35 #include <typedefs.h> -
kernel/genarch/include/ofw/sbus.h
r24a2517 rc621f4aa 31 31 32 32 #include <genarch/ofw/ofw_tree.h> 33 #include < arch/types.h>33 #include <typedefs.h> 34 34 #include <ddi/irq.h> 35 35 #include <typedefs.h> -
kernel/genarch/include/ofw/upa.h
r24a2517 rc621f4aa 31 31 32 32 #include <genarch/ofw/ofw_tree.h> 33 #include < arch/types.h>33 #include <typedefs.h> 34 34 #include <ddi/irq.h> 35 35 #include <typedefs.h> -
kernel/genarch/include/softint/division.h
r24a2517 rc621f4aa 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */
Note:
See TracChangeset
for help on using the changeset viewer.
