Skip to contentSkip to conversation

drivers/char/hvc_* and /Documentation/powerpc/hvcs.txt

DISCUSSION Timur Tabi 2 participants 3 messages Jan 25, 2008 – Feb 6, 2008

lore
Share & tools
lore

Timur Tabi

author
#0 lore raw

Hi,

I'm working on a console driver for the Freescale hypervisor. I notice a bunch of hvc_* files in the drivers/char directory. I also noticed /Documentation/powerpc/hvcs.txt.

My guess is that hvcs.txt talks about drivers/char/hvcs.c, which is a console driver specific to some IBM hypervisor. The hvc_*.c files are based on that code but they're more generic and allow people to write console drivers for other hypervisors easliy. Am I right?

If so, does this mean that I can take hvc_beat.c, modify it to make Freescale hypervisor calls instead, and presto, I'm done?

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale
#1 lore raw
Quoted 10 lines · Timur Tabi

Hi,

I'm working on a console driver for the Freescale hypervisor. I notice a bunch of hvc_* files in the drivers/char directory. I also noticed /Documentation/powerpc/hvcs.txt.

My guess is that hvcs.txt talks about drivers/char/hvcs.c, which is a console driver specific to some IBM hypervisor. The hvc_*.c files are based on that code but they're more generic and allow people to write console drivers for other hypervisors easliy. Am I right?

Hvcs is the server-side driver in some environments. I.e. a hvc console connects through the hypervisor to a hvcs in another partition.

Quoted 2 lines

If so, does this mean that I can take hvc_beat.c, modify it to make Freescale hypervisor calls instead, and presto, I'm done?

Yep, pretty much. It's real easy to write a new backend to hvc, I've got a couple for various bringup environments here as well.

-Olof

author
#2 lore raw
Quoted 2 lines · Olof Johansson

Yep, pretty much. It's real easy to write a new backend to hvc, I've got a couple for various bringup environments here as well.

Could you tell me which kernel options I need to set/unset in order to get my driver to be called? My driver loads and initializes, but its put_char function is never called. Trying to debug to the console subsystem is making me dizzy.

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale