Skip to content

Commit

Permalink
s390x/3270: Mark non-migratable and enable the device
Browse files Browse the repository at this point in the history
Mark 3270 as non-migratable for the experimental stage. Enable
the 3270 device so that we can use x3270 client to operate the guest.

Run qemu with the arguments:
    -chardev socket,id=char3270_0,host=0.0.0.0,port=23,nowait,server,tn3270 \
    -device x-terminal3270,chardev=char3270_0,devno=fe.0.000a,id=terminal3270_0 \

There are some restrictions for the first stage: We don't support SSL
connections, multiple client connections and client resizing. Only
tested with the x3270 client.

Signed-off-by: Jing Liu <liujbjl@linux.vnet.ibm.com>
Signed-off-by: Yang Chen <bjcyang@linux.vnet.ibm.com>
Reviewed-by: QingFeng Hao <haoqf@linux.vnet.ibm.com>
Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
  • Loading branch information
Jing Liu authored and cohuck committed May 4, 2017
1 parent e65a272 commit 9e8b300
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 0 deletions.
1 change: 1 addition & 0 deletions default-configs/s390x-softmmu.mak
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ CONFIG_PCI=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO=y
CONFIG_SCLPCONSOLE=y
CONFIG_TERMINAL3270=y
CONFIG_S390_FLIC=y
CONFIG_S390_FLIC_KVM=$(CONFIG_KVM)
CONFIG_WDT_DIAG288=y
1 change: 1 addition & 0 deletions hw/char/Makefile.objs
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ common-obj-$(CONFIG_MILKYMIST) += milkymist-uart.o
common-obj-$(CONFIG_SCLPCONSOLE) += sclpconsole.o sclpconsole-lm.o

obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o
obj-$(CONFIG_TERMINAL3270) += terminal3270.o
6 changes: 6 additions & 0 deletions hw/char/terminal3270.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,12 +260,18 @@ static Property terminal_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};

static const VMStateDescription terminal3270_vmstate = {
.name = TYPE_TERMINAL_3270,
.unmigratable = 1,
};

static void terminal_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
EmulatedCcw3270Class *ck = EMULATED_CCW_3270_CLASS(klass);

dc->props = terminal_properties;
dc->vmsd = &terminal3270_vmstate;
ck->init = terminal_init;
ck->read_payload_3270 = read_payload_3270;
ck->write_payload_3270 = write_payload_3270;
Expand Down

0 comments on commit 9e8b300

Please sign in to comment.