Changeset 82da5f5 in mainline
- Timestamp:
- 2006-05-24T13:38:39Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 567807b1
- Parents:
- 8182031
- Location:
- arch/sparc64
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/sparc64/Makefile.inc
r8182031 r82da5f5 62 62 63 63 ## Compile with support for framebuffer. 64 ## Mapping of the framebuffer is implemented by a sparc64-specific function.65 64 # 66 65 … … 92 91 arch/$(ARCH)/src/trap/interrupt.c \ 93 92 arch/$(ARCH)/src/ddi/ddi.c \ 94 arch/$(ARCH)/src/drivers/tick.c 93 arch/$(ARCH)/src/drivers/tick.c \ 94 arch/$(ARCH)/src/drivers/i8042.c -
arch/sparc64/include/drivers/i8042.h
r8182031 r82da5f5 33 33 34 34 #define KBD_PHYS_ADDRESS 0x1fff8904000ULL 35 #define KBD_VIRT_ADDRESS 0x000d0000000ULL36 35 37 36 #define STATUS_REG 4 … … 39 38 #define DATA_REG 6 40 39 40 #define LAST_REG DATA_REG 41 42 extern volatile __u8 *kbd_virt_address; 43 41 44 static inline void i8042_data_write(__u8 data) 42 45 { 43 ((volatile __u8 *)(KBD_VIRT_ADDRESS))[DATA_REG] = data;46 kbd_virt_address[DATA_REG] = data; 44 47 } 45 48 46 49 static inline __u8 i8042_data_read(void) 47 50 { 48 return ((volatile __u8 *)(KBD_VIRT_ADDRESS))[DATA_REG];51 return kbd_virt_address[DATA_REG]; 49 52 } 50 53 51 54 static inline __u8 i8042_status_read(void) 52 55 { 53 return ((volatile __u8 *)(KBD_VIRT_ADDRESS))[STATUS_REG];56 return kbd_virt_address[STATUS_REG]; 54 57 } 55 58 56 59 static inline void i8042_command_write(__u8 command) 57 60 { 58 ((volatile __u8 *)(KBD_VIRT_ADDRESS))[COMMAND_REG] = command;61 kbd_virt_address[COMMAND_REG] = command; 59 62 } 60 63 64 extern void kbd_init(void); 65 61 66 #endif -
arch/sparc64/src/console.c
r8182031 r82da5f5 78 78 stdin = NULL; 79 79 80 dtlb_insert_mapping(KBD_VIRT_ADDRESS, KBD_PHYS_ADDRESS, PAGESIZE_8K, true, false); 81 80 kbd_init(); 82 81 fb_init(FB_PHYS_ADDRESS, FB_X_RES, FB_Y_RES, FB_COLOR_DEPTH, FB_X_RES * FB_COLOR_DEPTH / 8); 83 i8042_init();84 82 } 85 83 -
arch/sparc64/src/mm/page.c
r8182031 r82da5f5 32 32 #include <mm/frame.h> 33 33 #include <bitops.h> 34 #include <debug.h> 34 35 35 36 void page_arch_init(void) … … 41 42 { 42 43 unsigned int order; 44 int i; 45 46 struct { 47 int pagesize; 48 size_t increment; 49 count_t count; 50 } sizemap[] = { 51 { PAGESIZE_8K, 0, 1 }, /* 8K */ 52 { PAGESIZE_8K, PAGE_SIZE, 2 }, /* 16K */ 53 { PAGESIZE_8K, PAGE_SIZE, 4 }, /* 32K */ 54 { PAGESIZE_64K, 0, 1}, /* 64K */ 55 { PAGESIZE_64K, 8*PAGE_SIZE, 2 }, /* 128K */ 56 { PAGESIZE_64K, 8*PAGE_SIZE, 4 }, /* 256K */ 57 { PAGESIZE_512K, 0, 1 }, /* 512K */ 58 { PAGESIZE_512K, 64*PAGE_SIZE, 2 }, /* 1M */ 59 { PAGESIZE_512K, 64*PAGE_SIZE, 4 }, /* 2M */ 60 { PAGESIZE_4M, 0, 1 } /* 4M */ 61 }; 62 63 ASSERT(size <= 4*1024*1024); 43 64 44 65 if (size <= FRAME_SIZE) … … 48 69 49 70 __address virtaddr = PA2KA(PFN2ADDR(frame_alloc(order, FRAME_KA))); 50 51 dtlb_insert_mapping(virtaddr, physaddr, PAGESIZE_512K, true, false); 52 dtlb_insert_mapping(virtaddr + 512 * 1024, physaddr + 512 * 1024, PAGESIZE_512K, true, false); 71 72 for (i = 0; i < sizemap[order].count; i++) 73 dtlb_insert_mapping(virtaddr + i*sizemap[order].increment, 74 physaddr + i*sizemap[order].increment, 75 sizemap[order].pagesize, true, false); 53 76 54 77 return virtaddr;
Note:
See TracChangeset
for help on using the changeset viewer.