/kernel/trunk/arch/sparc64/include/drivers/keyboard.h |
---|
0,0 → 1,35 |
/* |
* Copyright (C) 2006 Jakub Jermar |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* |
* - Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* - Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* - The name of the author may not be used to endorse or promote products |
* derived from this software without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
#ifndef __sparc64_KEYBOARD_H__ |
#define __sparc64_KEYBOARD_H__ |
#define KBD_PHYS_ADDRESS 0x1fff8904000ULL |
#define KBD_VIRT_ADDRESS 0x00000d00000ULL |
#endif |
/kernel/trunk/arch/sparc64/src/console.c |
---|
31,6 → 31,7 |
#include <typedefs.h> |
#include <genarch/fb/fb.h> |
#include <arch/drivers/fb.h> |
#include <arch/drivers/keyboard.h> |
#include <genarch/ofw/ofw.h> |
#include <console/chardev.h> |
#include <console/console.h> |
/kernel/trunk/arch/sparc64/src/mm/tlb.c |
---|
40,7 → 40,9 |
#include <panic.h> |
#include <arch/asm.h> |
#include <symtab.h> |
#include <arch/drivers/fb.h> |
#include <arch/drivers/keyboard.h> |
char *context_encoding[] = { |
"Primary", |
131,6 → 133,30 |
data.g = true; |
dtlb_data_in_write(data.value); |
/* |
* Quick hack: map keyboard |
*/ |
fr.address = KBD_PHYS_ADDRESS; |
pg.address = KBD_VIRT_ADDRESS; |
tag.value = ASID_KERNEL; |
tag.vpn = pg.vpn; |
dtlb_tag_access_write(tag.value); |
data.value = 0; |
data.v = true; |
data.size = PAGESIZE_8K; |
data.pfn = fr.pfn; |
data.l = true; |
data.cp = 0; |
data.cv = 0; |
data.p = true; |
data.w = true; |
data.g = true; |
dtlb_data_in_write(data.value); |
} |
/** ITLB miss handler. */ |
/kernel/trunk/arch/amd64/Makefile.inc |
---|
63,6 → 63,11 |
CONFIG_PAGE_PT = y |
## Compile with i8042 support. |
# |
CONFIG_I8042 = y |
## Accepted configuration directives |
# |
84,7 → 89,6 |
arch/$(ARCH)/src/pm.c \ |
arch/$(ARCH)/src/context.S \ |
arch/$(ARCH)/src/drivers/ega.c \ |
arch/$(ARCH)/src/drivers/i8042.c \ |
arch/$(ARCH)/src/drivers/i8254.c \ |
arch/$(ARCH)/src/drivers/i8259.c \ |
arch/$(ARCH)/src/delay.S \ |
/kernel/trunk/arch/amd64/src/amd64.c |
---|
33,7 → 33,7 |
#include <config.h> |
#include <arch/ega.h> |
#include <arch/i8042.h> |
#include <genarch/i8042/i8042.h> |
#include <arch/i8254.h> |
#include <arch/i8259.h> |
148,7 → 148,7 |
void arch_post_smp_init(void) |
{ |
i8042_init(); /* keyboard controller */ |
i8042_init(); /* keyboard controller */ |
} |
void calibrate_delay_loop(void) |
/kernel/trunk/arch/ia32/include/i8042.h |
---|
File deleted |
/kernel/trunk/arch/ia32/include/drivers/i8042.h |
---|
0,0 → 1,62 |
/* |
* Copyright (C) 2006 Jakub Jermar |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* |
* - Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* - Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* - The name of the author may not be used to endorse or promote products |
* derived from this software without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
/** |
* This file implements ia32 specific access to i8042 registers. |
*/ |
#ifndef __ia32_I8042_H__ |
#define __ia32_I8042_H__ |
#include <arch/asm.h> |
#include <arch/types.h> |
#define i8042_DATA 0x60 |
#define i8042_STATUS 0x64 |
static inline void i8042_data_write(__u8 data) |
{ |
outb(i8042_DATA, data); |
} |
static inline __u8 i8042_data_read(void) |
{ |
return inb(i8042_DATA); |
} |
static inline __u8 i8042_status_read(void) |
{ |
return inb(i8042_STATUS); |
} |
static inline void i8042_command_write(__u8 command) |
{ |
outb(i8042_STATUS, command); |
} |
#endif |
/kernel/trunk/arch/ia32/Makefile.inc |
---|
82,6 → 82,12 |
CONFIG_PAGE_PT = y |
## Compile with i8042 controller support |
# |
CONFIG_I8042 = y |
## Accepted configuration directives |
# |
118,7 → 124,6 |
arch/$(ARCH)/src/mm/memory_init.c \ |
arch/$(ARCH)/src/mm/page.c \ |
arch/$(ARCH)/src/mm/tlb.c \ |
arch/$(ARCH)/src/drivers/i8042.c \ |
arch/$(ARCH)/src/drivers/i8254.c \ |
arch/$(ARCH)/src/drivers/i8259.c \ |
arch/$(ARCH)/src/drivers/ega.c \ |
/kernel/trunk/arch/ia32/src/ia32.c |
---|
34,7 → 34,7 |
#include <arch/pm.h> |
#include <arch/ega.h> |
#include <arch/i8042.h> |
#include <genarch/i8042/i8042.h> |
#include <arch/i8254.h> |
#include <arch/i8259.h> |
/kernel/trunk/arch/ia32/src/drivers/i8042.c |
---|
File deleted |