Harald Dunkel | 16 Jun 2012 13:05
Picon

wishlist: vnc framebuffer device?


Hi folks,

To make a headless system "less headless", would it be possible
to integrate a vnc framebuffer device into the kernel?

The idea is to have a vnc server instead of a local screen and
keyboard to show the boot output and to provide a console login
on /dev/tty{1..6}. It would be pretty similar to qemu. No need
for fancy graphics, of course. The IP address might either be
obtained using DHCP, or it might use an IP address/netmask
given on the kernel command line.

I understand that authentication might be an issue here.

Hopefully this isn't one of the oh-no-not-again questions. I
haven't seen it mentioned on the kernel or linux-console
mailing lists before.

Regards

Harri
郭晓峰 | 15 Jan 2012 01:52
Picon

Different scan code behavior in X and console

Hi there,

Sorry to bother. Not sure whether it is correct to post this question
to the mail list, but can't find a suitable linux console user mail
list for discussing this. If you have good mail list to suggest,
please help me to forward. Thanks!

The question is: I tried to make my emacs have the same key response
on both X and console (ssh pts). However, I can't find scan code for
"Ctrl-PageDown" in console mode. I attached the code for testing the
scan code, and below is different behavior in X and console:

============= X ===========
Press a Key 338   // Just type <PageDown>
Press a Key 27
Press a Key 91
Press a Key 54
Press a Key 59
Press a Key 53
Press a Key 126  // 6-chars for <Ctrl-PageDown>
============ Console =========
Press a Key 338  // Same for <PageDown>
Press a Key         // No response for <Ctrl-PageDown>

Any idea on this? Greatly appreciate your replies, your suggested
readings, and so on!

Best Regards,
Lamu Guo

(Continue reading)

Andrey Utkin | 24 Dec 2011 16:57
Picon
Gravatar

Need advice on performant text-mode output API

Hi. I develop the program that visualizes disk checking process.
Similarly to known DOS program, MHDD.
To get the idea, you can find screencasts of its usage on Youtube.
Or look at my program's screenshot:
http://cloud.github.com/downloads/krieger-od/whdd/whdd_screenshot5.png
So i need to update big zone at left, and stats in top right corner.
The point is that it can be ~1000 blocks processed per second,
although it is ok to render them each Nth time, like at each 10-50
blocks processed.
Currently i use ncurses, and its performance is unacceptable, the
screen blinks awfully, because it prints whole screen of chars on
refresh.

I ask for directing me to any sufficiently performant libs/API, to
replace ncurses.
It would be ok, and even nice, if it is plain text mode (80x25, 16
colors), without any overhead of representing my chars as graphical
points.
It would be _very_ nice, if that API provide 'windows' model in terms
of ncurses, to work with rectangular pieces.
No OS portability is required. Linux only is sufficient.
Terminal emulator support is of course not required, although i'm
interested: is it possible to have.

I've found some project - directfb, but i'm not sure if it fits best
for my purpose. It seems to be focused on rich graphic rendering
possibilities. I need stupid, but fast text mode. Similar thing about
SDL.

Any help is appreciated. Thanks.
(Continue reading)

Timur Tabi | 20 Sep 2011 20:26
Favicon

[PATCH] drivers/tty: don't use the byte channel handle as a parameter in ehv_bytechan.c

The ePAPR hypervisor byte channel console driver only supports one byte
channel as a console, and the byte channel handle is stored in a global
variable.  It doesn't make any sense to pass that handle as a parameter
to the console functions, since these functions already have access to the
global variable.

This change also fixes this compilation warning on a 64-bit kernel:

  CC      drivers/tty/ehv_bytechan.o
drivers/tty/ehv_bytechan.c: In function 'ehv_bc_console_write':
drivers/tty/ehv_bytechan.c:289:24: warning: cast from pointer to integer of different size
drivers/tty/ehv_bytechan.c: In function 'ehv_bc_console_init':
drivers/tty/ehv_bytechan.c:355:24: warning: cast to pointer from integer of different size

This warning is because the driver is converting the integer byte channel
handle to/from the void* 'data' field of struct console.  Rather than fix
the warning, we just eliminate the code altogether.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 drivers/tty/ehv_bytechan.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/tty/ehv_bytechan.c b/drivers/tty/ehv_bytechan.c
index e67f70b..b24e6f7 100644
--- a/drivers/tty/ehv_bytechan.c
+++ b/drivers/tty/ehv_bytechan.c
 <at>  <at>  -286,7 +286,6  <at>  <at>  static int ehv_bc_console_byte_channel_send(unsigned int handle, const char *s,
 static void ehv_bc_console_write(struct console *co, const char *s,
 				 unsigned int count)
(Continue reading)

Timur Tabi | 9 Jul 2011 02:06
Favicon

[PATCH] [v3] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver

The ePAPR embedded hypervisor specification provides an API for "byte
channels", which are serial-like virtual devices for sending and receiving
streams of bytes.  This driver provides Linux kernel support for byte
channels via three distinct interfaces:

1) An early-console (udbg) driver.  This provides early console output
through a byte channel.  The byte channel handle must be specified in a
Kconfig option.

2) A normal console driver.  Output is sent to the byte channel designated
for stdout in the device tree.  The console driver is for handling kernel
printk calls.

3) A tty driver, which is used to handle user-space input and output.  The
byte channel used for the console is designated as the default tty.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 arch/powerpc/include/asm/udbg.h |    1 +
 arch/powerpc/kernel/udbg.c      |    2 +
 drivers/tty/Kconfig             |   34 ++
 drivers/tty/Makefile            |    1 +
 drivers/tty/ehv_bytechan.c      |  888 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 926 insertions(+), 0 deletions(-)
 create mode 100644 drivers/tty/ehv_bytechan.c

diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h
index 58580e9..0938ac8 100644
--- a/arch/powerpc/include/asm/udbg.h
+++ b/arch/powerpc/include/asm/udbg.h
(Continue reading)

Timur Tabi | 9 Jun 2011 22:52
Favicon

[PATCH 7/7] [v6] drivers/virt: introduce Freescale hypervisor management driver

Add the drivers/virt directory, which houses drivers that support
virtualization environments, and add the Freescale hypervisor management
driver.

The Freescale hypervisor management driver provides several services to
drivers and applications related to the Freescale hypervisor:

1. An ioctl interface for querying and managing partitions

2. A file interface to reading incoming doorbells

3. An interrupt handler for shutting down the partition upon receiving the
   shutdown doorbell from a manager partition

4. A kernel interface for receiving callbacks when a managed partition
   shuts down.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 Documentation/ioctl/ioctl-number.txt |    1 +
 drivers/Kconfig                      |    2 +
 drivers/Makefile                     |    3 +
 drivers/virt/Kconfig                 |   32 ++
 drivers/virt/Makefile                |    5 +
 drivers/virt/fsl_hypervisor.c        |  937 ++++++++++++++++++++++++++++++++++
 include/linux/Kbuild                 |    1 +
 include/linux/fsl_hypervisor.h       |  241 +++++++++
 8 files changed, 1222 insertions(+), 0 deletions(-)
 create mode 100644 drivers/virt/Kconfig
 create mode 100644 drivers/virt/Makefile
(Continue reading)

Timur Tabi | 9 Jun 2011 21:13
Favicon

[PATCH 7/7] [v5] drivers/virt: introduce Freescale hypervisor management driver

Add the drivers/virt directory, which houses drivers that support
virtualization environments, and add the Freescale hypervisor management
driver.

The Freescale hypervisor management driver provides several services to
drivers and applications related to the Freescale hypervisor:

1. An ioctl interface for querying and managing partitions

2. A file interface to reading incoming doorbells

3. An interrupt handler for shutting down the partition upon receiving the
   shutdown doorbell from a manager partition

4. A kernel interface for receiving callbacks when a managed partition
   shuts down.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 drivers/Kconfig                |    2 +
 drivers/Makefile               |    3 +
 drivers/virt/Kconfig           |   32 ++
 drivers/virt/Makefile          |    5 +
 drivers/virt/fsl_hypervisor.c  |  983 ++++++++++++++++++++++++++++++++++++++++
 include/linux/Kbuild           |    1 +
 include/linux/fsl_hypervisor.h |  231 ++++++++++
 7 files changed, 1257 insertions(+), 0 deletions(-)
 create mode 100644 drivers/virt/Kconfig
 create mode 100644 drivers/virt/Makefile
 create mode 100644 drivers/virt/fsl_hypervisor.c
(Continue reading)

Timur Tabi | 9 Jun 2011 00:45
Favicon

[PATCH 7/7] [v4] drivers/virt: introduce Freescale hypervisor management driver

Add the drivers/virt directory, which houses drivers that support
virtualization environments, and add the Freescale hypervisor management
driver.

The Freescale hypervisor management driver provides several services to
drivers and applications related to the Freescale hypervisor:

1. An ioctl interface for querying and managing partitions

2. A file interface to reading incoming doorbells

3. An interrupt handler for shutting down the partition upon receiving the
   shutdown doorbell from a manager partition

4. An interface for receiving callbacks when a managed partition shuts down.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 drivers/Kconfig                |    2 +
 drivers/Makefile               |    3 +
 drivers/virt/Kconfig           |   22 +
 drivers/virt/Makefile          |    5 +
 drivers/virt/fsl_hypervisor.c  |  961 ++++++++++++++++++++++++++++++++++++++++
 include/linux/Kbuild           |    1 +
 include/linux/fsl_hypervisor.h |  214 +++++++++
 7 files changed, 1208 insertions(+), 0 deletions(-)
 create mode 100644 drivers/virt/Kconfig
 create mode 100644 drivers/virt/Makefile
 create mode 100644 drivers/virt/fsl_hypervisor.c
 create mode 100644 include/linux/fsl_hypervisor.h
(Continue reading)

Timur Tabi | 3 Jun 2011 22:47
Favicon

[PATCH 7/7] [v3] drivers/misc: introduce Freescale hypervisor management driver

The Freescale hypervisor management driver provides several services to
drivers and applications related to the Freescale hypervisor:

1. An ioctl interface for querying and managing partitions

2. A file interface to reading incoming doorbells

3. An interrupt handler for shutting down the partition upon receiving the
   shutdown doorbell from a manager partition

4. An interface for receiving callbacks when a managed partition shuts down.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 drivers/misc/Kconfig           |    7 +
 drivers/misc/Makefile          |    1 +
 drivers/misc/fsl_hypervisor.c  |  954 ++++++++++++++++++++++++++++++++++++++++
 include/linux/Kbuild           |    1 +
 include/linux/fsl_hypervisor.h |  214 +++++++++
 5 files changed, 1177 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/fsl_hypervisor.c
 create mode 100644 include/linux/fsl_hypervisor.h

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index d80dcde..3e016b3 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
 <at>  <at>  -216,6 +216,13  <at>  <at>  config ENCLOSURE_SERVICES
 	  driver (SCSI/ATA) which supports enclosures
 	  or a SCSI enclosure device (SES) to use these services.
(Continue reading)

Timur Tabi | 1 Jun 2011 20:35
Favicon

[PATCH 7/7] [v2] drivers/misc: introduce Freescale hypervisor management driver

The Freescale hypervisor management driver provides several services to
drivers and applications related to the Freescale hypervisor:

1. An ioctl interface for querying and managing partitions

2. A file interface to reading incoming doorbells

3. An interrupt handler for shutting down the partition upon receiving the
   shutdown doorbell from a manager partition

4. An interface for receiving callbacks when a managed partition shuts down.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 drivers/misc/Kconfig           |    7 +
 drivers/misc/Makefile          |    1 +
 drivers/misc/fsl_hypervisor.c  |  941 ++++++++++++++++++++++++++++++++++++++++
 include/linux/Kbuild           |    1 +
 include/linux/fsl_hypervisor.h |  203 +++++++++
 5 files changed, 1153 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/fsl_hypervisor.c
 create mode 100644 include/linux/fsl_hypervisor.h

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index d80dcde..3e016b3 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
 <at>  <at>  -216,6 +216,13  <at>  <at>  config ENCLOSURE_SERVICES
 	  driver (SCSI/ATA) which supports enclosures
 	  or a SCSI enclosure device (SES) to use these services.
(Continue reading)

Timur Tabi | 19 May 2011 20:34
Favicon

[PATCH 6/7] [v2] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver

The ePAPR embedded hypervisor specification provides an API for "byte
channels", which are serial-like virtual devices for sending and receiving
streams of bytes.  This driver provides Linux kernel support for byte
channels via three distinct interfaces:

1) An early-console (udbg) driver.  This provides early console output
through a byte channel.  The byte channel handle must be specified in a
Kconfig option.

2) A normal console driver.  Output is sent to the byte channel designated
for stdout in the device tree.  The console driver is for handling kernel
printk calls.

3) A tty driver, which is used to handle user-space input and output.  The
byte channel used for the console is designated as the default tty.

Signed-off-by: Timur Tabi <timur <at> freescale.com>
---
 arch/powerpc/include/asm/udbg.h |    1 +
 arch/powerpc/kernel/udbg.c      |    2 +
 drivers/tty/Kconfig             |   33 ++
 drivers/tty/Makefile            |    1 +
 drivers/tty/ehv_bytechan.c      |  888 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 925 insertions(+), 0 deletions(-)
 create mode 100644 drivers/tty/ehv_bytechan.c

diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h
index 11ae699..bb9f6b1 100644
--- a/arch/powerpc/include/asm/udbg.h
+++ b/arch/powerpc/include/asm/udbg.h
(Continue reading)


Gmane