Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4118 → Rev 4119

/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)