/trunk/kernel/genarch/include/drivers/z8530/z8530.h |
---|
120,7 → 120,7 |
indev_t kbrdin; |
} z8530_instance_t; |
extern devin_t *z8530_init(z8530_t *, devno_t, inr_t, cir_t, void *); |
extern indev_t *z8530_init(z8530_t *, devno_t, inr_t, cir_t, void *); |
#endif |
/trunk/kernel/genarch/src/drivers/ns16550/ns16550.c |
---|
42,7 → 42,7 |
#define LSR_DATA_READY 0x01 |
indev_operations_t kbrdin_ops = { |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
}; |
64,7 → 64,7 |
if (pio_read_8(&dev->lsr) & LSR_DATA_READY) { |
uint8_t x = pio_read_8(&dev->rbr); |
chardev_push_character(&instance->kbrdin, x); |
indev_push_character(&instance->kbrdin, x); |
} |
} |
/trunk/kernel/genarch/src/drivers/dsrln/dsrlnin.c |
---|
39,7 → 39,7 |
#include <mm/slab.h> |
#include <arch/asm.h> |
indev_operations_t kbrdin_ops = { |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
}; |
/trunk/kernel/genarch/src/drivers/i8042/i8042.c |
---|
42,7 → 42,7 |
#include <console/chardev.h> |
#include <mm/slab.h> |
indev_operations_t kbrdin_ops = { |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
}; |
/trunk/kernel/genarch/src/drivers/z8530/z8530.c |
---|
40,7 → 40,7 |
#include <arch/asm.h> |
#include <mm/slab.h> |
indev_operations_t kbrdin_ops = { |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
}; |
82,7 → 82,7 |
if (z8530_read(&dev->ctl_a, RR0) & RR0_RCA) { |
uint8_t x = z8530_read(&dev->ctl_a, RR8); |
chardev_push_character(&instance->kbrdin, x); |
indev_push_character(&instance->kbrdin, x); |
} |
} |
/trunk/kernel/arch/sparc64/Makefile.inc |
---|
76,7 → 76,8 |
arch/$(KARCH)/src/drivers/tick.c \ |
arch/$(KARCH)/src/drivers/kbd.c \ |
arch/$(KARCH)/src/drivers/sgcn.c \ |
arch/$(KARCH)/src/drivers/pci.c |
arch/$(KARCH)/src/drivers/pci.c \ |
arch/$(KARCH)/src/drivers/fhc.c |
ifeq ($(CONFIG_FB),y) |
ARCH_SOURCES += \ |
93,8 → 94,3 |
ARCH_SOURCES += \ |
arch/$(KARCH)/src/mm/tsb.c |
endif |
ifdef CONFIG_Z8530 |
ARCH_SOURCES += \ |
arch/$(KARCH)/src/drivers/fhc.c |
endif |
/trunk/kernel/arch/sparc64/src/console.c |
---|
62,34 → 62,29 |
static void standard_console_init(ofw_tree_node_t *aliases) |
{ |
#ifdef CONFIG_FB |
ofw_tree_property_t *prop; |
ofw_tree_node_t *screen; |
ofw_tree_node_t *keyboard; |
prop = ofw_tree_getprop(aliases, "screen"); |
if (!prop) |
ofw_tree_property_t *prop_scr = ofw_tree_getprop(aliases, "screen"); |
if (!prop_scr) |
panic("Cannot find property 'screen'."); |
if (!prop->value) |
if (!prop_scr->value) |
panic("Cannot find screen alias."); |
screen = ofw_tree_lookup(prop->value); |
ofw_tree_node_t *screen = ofw_tree_lookup(prop_scr->value); |
if (!screen) |
panic("Cannot find %s.", prop->value); |
panic("Cannot find %s.", prop_scr->value); |
scr_init(screen); |
#endif |
prop = ofw_tree_getprop(aliases, "keyboard"); |
if (!prop) |
#ifdef CONFIG_SUN_KBD |
ofw_tree_property_t *prop_kbd = ofw_tree_getprop(aliases, "keyboard"); |
if (!prop_kbd) |
panic("Cannot find property 'keyboard'."); |
if (!prop->value) |
if (!prop_kbd->value) |
panic("Cannot find keyboard alias."); |
keyboard = ofw_tree_lookup(prop->value); |
ofw_tree_node_t *keyboard = ofw_tree_lookup(prop_kbd->value); |
if (!keyboard) |
panic("Cannot find %s.", prop->value); |
panic("Cannot find %s.", prop_kbd->value); |
kbd_init(keyboard); |
#else |
panic("Standard console requires FB, " |
"but the kernel is not compiled with FB support."); |
#endif |
} |
/trunk/kernel/arch/sparc64/src/drivers/kbd.c |
---|
57,7 → 57,7 |
kbd_type_t kbd_type = KBD_UNKNOWN; |
#if defined (CONFIG_Z8530) || defined (CONFIG_NS16550) |
#ifdef CONFIG_SUN_KBD |
/** Initialize keyboard. |
* |
168,9 → 168,9 |
z8530 = (z8530_t *) hw_map(aligned_addr, offset + size) + |
offset; |
indev_t *kbrdin = z8530_init(z8530, devno, inr, cir, cir_arg); |
if (kbrdin) |
kbrd_init(kbrdin); |
indev_t *kbrdin_z8530 = z8530_init(z8530, devno, inr, cir, cir_arg); |
if (kbrdin_z8530) |
kbrd_init(kbrdin_z8530); |
/* |
* This is the necessary evil until the userspace drivers are |
191,9 → 191,9 |
ns16550 = (ns16550_t *) hw_map(aligned_addr, offset + size) + |
offset; |
indev_t *kbrdin = ns16550_init(ns16550, devno, inr, cir, cir_arg); |
if (kbrdin) |
kbrd_init(kbrdin); |
indev_t *kbrdin_ns16550 = ns16550_init(ns16550, devno, inr, cir, cir_arg); |
if (kbrdin_ns16550) |
kbrd_init(kbrdin_ns16550); |
/* |
* This is the necessary evil until the userspace driver is |
214,6 → 214,7 |
} |
} |
#endif |
#endif |
/** @} |
*/ |
/trunk/HelenOS.config |
---|
329,12 → 329,12 |
% Input device class |
@ "generic" Keyboard or serial line |
@ "none" No input device |
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=amd64|PLATFORM=mips32] CONFIG_HID_IN (choice) |
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=sparc64] CONFIG_HID_IN (choice) |
% Output device class |
@ "generic" Monitor or serial line |
@ "none" No output device |
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice) |
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice) |
% Output device class |
@ "generic" Monitor or serial line |
365,9 → 365,18 |
% Support for GXemul printer |
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32] CONFIG_ARM_PRN (y/n) |
% Support for NS16550 controller |
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64] CONFIG_NS16550 (y/n) |
% Support for Z8530 controller |
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboardl)&PLATFORM=sparc64] CONFIG_Z8530 (y/n) |
% i8042 controller support |
! [CONFIG_PC_KBD=y] CONFIG_I8042 (y) |
% Sun keyboard support |
! [PLATFORM=sparc64&(CONFIG_NS16550=y|CONFIG_Z8530=y] CONFIG_SUN_KBD (y) |
% Dummy serial line input |
! [CONFIG_MIPS_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y) |
383,9 → 392,6 |
#% Support for NS16550 controller |
#! [(CONFIG_HID_IN=keyboard&PLATFORM=sparc64)|(CONFIG_HID_IN=serial&PLATFORM=ia64)] CONFIG_NS16550 (y/n) |
#% Support for Z8530 controller |
#! [(CONFIG_HID_IN!=none|CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=sparc64] CONFIG_Z8530 (y/n) |
#% Support for Serengeti console |
#! [(CONFIG_HID_IN=serial|CONFIG_HID_OUT=serial)&MACHINE=serengeti] CONFIG_SGCN (y/n) |
392,9 → 398,6 |
#% PC keyboard support |
#! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&MACHINE=i460GX] CONFIG_PC_KBD (y/n) |
#% Sun keyboard support |
#! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64] CONFIG_SUN_KBD (y/n) |
% EGA support |
! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n) |
408,11 → 411,8 |
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FB (y/n) |
% Framebuffer support |
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n) |
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&(PLATFORM=arm32|PLATFORM=sparc64)] CONFIG_FB (y/n) |
% Framebuffer support |
! [CONFIG_HID_OUT=none] CONFIG_FB (n) |
% Framebuffer width |
@ "640" |
@ "800" |
423,7 → 423,7 |
@ "1440" |
@ "1600" |
@ "2048" |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice) |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice) |
% Framebuffer height |
@ "480" |
436,13 → 436,13 |
@ "1050" |
@ "1200" |
@ "1536" |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice) |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice) |
% Framebuffer depth |
@ "8" |
@ "16" |
@ "24" |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice) |
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_BPP (choice) |
% Start AP processors by the loader |
! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n) |