From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio Fantoni Subject: Re: [PATCH v8] tools/libxl: Add qxl vga interface support for upstream-qemu-xen. Date: Tue, 05 Feb 2013 14:19:57 +0100 Message-ID: <511106FD.4040600@tiscali.it> References: <5106A14E.2040703@tiscali.it> <1360060432.17017.22.camel@zakaz.uk.xensource.com> Reply-To: fantonifabio@tiscali.it Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7619136134647951715==" Return-path: In-Reply-To: <1360060432.17017.22.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org Questo è un messaggio firmato digitalmente in formato MIME. --===============7619136134647951715== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070207070509080802090805" Questo è un messaggio firmato digitalmente in formato MIME. --------------ms070207070509080802090805 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Il 05/02/2013 11:33, Ian Campbell ha scritto: > On Mon, 2013-01-28 at 16:03 +0000, Fabio Fantoni wrote: >> tools/libxl: Add qxl vga interface support for >> upstream-qemu-xen. >> >> Usage: >> qxl=3D1|0 >> >> Changes from v7: >> - Fix videoram settings parameters for qemu. >> >> Signed-off-by: Fabio Fantoni >> Signed-off-by: Zhou Peng > Unfortunately this patch is whitespace damaged in various places. I'll try from linux instead windows, I can also add patches as=20 attachment on next messages? >> --- >> docs/man/xl.cfg.pod.5 | 11 +++++++++++ >> tools/libxl/libxl_create.c | 12 ++++++++++++ >> tools/libxl/libxl_dm.c | 15 +++++++++++++++ >> tools/libxl/libxl_types.idl | 1 + >> tools/libxl/xl_cmdimpl.c | 7 ++++++- >> 5 files changed, 45 insertions(+), 1 deletion(-) >> >> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 >> index 9c5cdcd..a0f0dc3 100644 >> --- a/docs/man/xl.cfg.pod.5 >> +++ b/docs/man/xl.cfg.pod.5 >> @@ -984,6 +984,9 @@ the amount of video ram is fixed at 4MB which is >> sufficient >> for 1024x768 at 32 bpp and videoram option is currently working >> only when using the upstream qemu-xen device-model. >> >> +For B vga, the default is both default and minimal 128MB. >> +If B is set less than 128MB, an error will be triggered. >> + >> =3Ditem B >> >> Select a standard VGA card with VBE (VESA BIOS Extensions) as the >> @@ -992,6 +995,14 @@ a Cirrus Logic GD5446 VGA card. If your guest >> supports VBE 2.0 or >> later (e.g. Windows XP onwards) then you should enable this. >> stdvga supports more video ram and bigger resolutions than Cirrus. >> >> +=3Ditem B > What happens if I give qxl=3D1 and stdvga=3D1? > > Perhaps we should deprecate stdvga and add a new option: > vga =3D "stdvga|cirrus|qxl" > ? Yes that should be nice. I'll do a patch that remove stdvga option and add vga option. >> + >> +Select a QXL VGA card as the emulated graphics device. >> +In general, QXL should work with the Spice remote display protocol >> +for acceleration, and QXL driver is necessary in guest in this case. > Do we have any docs on where to obtain this driver and how to install > it? On the wiki perhaps, a link would be useful. > >> +QXL can also work with the VNC protocol, but it will be like a standa= rd >> +VGA without acceleration. >> + >> =3Ditem B >> >> Allow access to the display via the VNC protocol. This enables the= >> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c >> index 55014e5..4761b5a 100644 >> --- a/tools/libxl/libxl_create.c >> +++ b/tools/libxl/libxl_create.c >> @@ -197,6 +197,18 @@ int libxl__domain_build_info_setdefault(libxl__gc= *gc, >> case LIBXL_DOMAIN_TYPE_HVM: >> if (b_info->shadow_memkb =3D=3D LIBXL_MEMKB_DEFAULT) >> b_info->shadow_memkb =3D 0; >> + >> + if (b_info->device_model_version =3D=3D >> LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN >> + && b_info->u.hvm.vga.kind =3D=3D LIBXL_VGA_INTERFACE_TYPE= _QXL) { >> + if (b_info->video_memkb =3D=3D LIBXL_MEMKB_DEFAULT) { >> + b_info->video_memkb =3D (128 * 1024); >> + }else if (b_info->video_memkb < (128 * 1024)) { >> + LIBXL__LOG(CTX, LIBXL__LOG_ERROR, >> + "128 Mib videoram is the minimum for qxl default"= ); > You can use the LOG() macros to shorten this line (and in other places > including you videoram patch too). > > Should this error out on qemu =3D=3D traditional and vga =3D=3D QXL? Must I only replace LIBXL__LOG with LOG? I'll add error and exit if vga=3Dqxl and qemu is traditional. >> + return ERROR_INVAL; >> + } >> + } >> + >> if (b_info->video_memkb =3D=3D LIBXL_MEMKB_DEFAULT) >> b_info->video_memkb =3D 8 * 1024; >> else if (b_info->video_memkb < 8192){ >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c >> index 465b1fd..0813258 100644 >> --- a/tools/libxl/libxl_dm.c >> +++ b/tools/libxl/libxl_dm.c >> @@ -437,6 +439,19 @@ static char ** >> libxl__build_device_model_args_new(libxl__gc *gc, >> NULL); >> } >> break; >> + case LIBXL_VGA_INTERFACE_TYPE_QXL: >> + flexarray_vappend(dm_args, "-vga", "qxl", NULL); > flexarray_append_pair() ? >> + if (b_info->video_memkb) { >> + flexarray_vappend(dm_args, "-global", >> + libxl__sprintf(gc, "qxl-vga.vram_size_mb=3D%lu", >> + (b_info->video_memkb/2/1024)), >> + NULL); >> + flexarray_vappend(dm_args, "-global", >> + libxl__sprintf(gc, "qxl-vga.ram_size_mb=3D%lu", >> + (b_info->video_memkb/2/1024)), >> + NULL); > You could combine the second two vappends into a single one, or use > flexarray_append_pair(). > > The /2 is because the videomem is split between vram and ram? A comment= > to that affect would be useful. I'll try to use flexarray_append_pair() instead. I'll also add small comment about 2 qxl ram regions. > >> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c >> index 080bbd8..b4f7a0e 100644 >> --- a/tools/libxl/xl_cmdimpl.c >> +++ b/tools/libxl/xl_cmdimpl.c >> @@ -1469,7 +1469,12 @@ skip_vfb: >> #undef parse_extra_args >> >> if (c_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { >> - if (!xlu_cfg_get_long(config, "stdvga", &l, 0)) >> + if (!xlu_cfg_get_long(config, "qxl", &l, 0)) >> + b_info->u.hvm.vga.kind =3D l ? LIBXL_VGA_INTERFACE_TYPE_Q= XL : >> + LIBXL_VGA_INTERFACE_TYPE_CIRRUS; >> + >> + if (!xlu_cfg_get_long(config, "stdvga", &l, 0) && >> + b_info->u.hvm.vga.kind !=3D LIBXL_VGA_INTERFACE_TYPE_QXL)= >> b_info->u.hvm.vga.kind =3D l ? LIBXL_VGA_INTERFACE_TYPE= _STD : >> LIBXL_VGA_INTERFACE_TYPE_CIRRUS; >> > > > > ----- > Nessun virus nel messaggio. > Controllato da AVG - www.avg.com > Versione: 2013.0.2897 / Database dei virus: 2639/6080 - Data di rilasc= io: 04/02/2013 > > --------------ms070207070509080802090805 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: Firma crittografica S/MIME MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3 MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi 8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y 2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3 dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT +HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC 0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV 10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2 YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6 Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8 h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1 kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8 oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+ qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1 XJLZuzGCA9owggPWAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC Ah5jMAkGBSsOAwIaBQCgggIbMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTEzMDIwNTEzMTk1N1owIwYJKoZIhvcNAQkEMRYEFFlcyh13aZ5BVPGjF/BA5kQX AXnPMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG 9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcN AwICASgwgaQGCSsGAQQBgjcQBDGBljCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0 YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25p bmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xp ZW50IENBAgIeYzCBpgYLKoZIhvcNAQkQAgsxgZaggZMwgYwxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0 ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRp YXRlIENsaWVudCBDQQICHmMwDQYJKoZIhvcNAQEBBQAEggEAJDDy0PjE9Lwq8uNYF/Lnhqwg HCU3SW6xsvuYclBwyJW/k0S7GQ+eIVsoneeaw2wTyE0qjkkxSYnmoFjAn/boAukwjfGRxZ1v siQK5GL+JO7xhngexmWzlZ2RFj+jNlCA2F8w+fRFW+fpruZSQy/29lRwFTvy7Pg8U5DV9Vgm rLc0AU/Uj9FysN5qsZ9J1SecxeirByrrRvcB9cNraGxj66KuwqD3AFjlUiaX4p3N6ki9EfXQ w9d3j8WreiSTjh/ccj40+csnV7xXke+OezGanmjreehTYFnzhKDseL8ZbYvrALMIyCFKTW5C tRZWbdPqVU8BVZwN7xFVtRdZiXF8jQAAAAAAAA== --------------ms070207070509080802090805-- --===============7619136134647951715== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============7619136134647951715==--