ps2: fix keyboard set 3 and misc improvements
cover ps2: fix keyboard set 3 and misc improvements
Hi,
This patchset is a welcome cleanup of scancodes used in PS/2 keyboard emulation.
- Patches 1 and 2 are fixes to let Linux use set 3 if instructed so.
- Patch 3 makes scancodes untranslated by default and translates them if required, instead of receiving translated scancodes by default and untranslating them if required.
- Patch 4 switches to use qcodes instead of scancodes.
- Patch 5 is a small cleanup, to prevent sending invalid keycodes to the OS.
See each patch commit for details about what changed.
Missing part are handling of following commands in set 3:
- 0xf7: set all keys to typematic/autorepeat only
- 0xf8: set all keys to make/release
- 0xf9: set all keys to make only
- 0xfa: set all keys to typematic/autorepeat make/release
- 0xfb: set specific key to typematic/autorepeat only
- 0xfc: set specific key to make/release
- 0xfd: set specific key to make only
Translated set 2 and untranslated sets 2 and 3 have been tested with Linux, using kernel parameters "i8042.direct=1" and "atkbd.set=3".
Set 1 has been tested with MIPS Magnum emulation.
Patch 3 doesn't pass checkpatch.pl, due to translation table using more than 80 columns. Patch 4 doesn't pass checkpatch.pl, due to some key mappings not implemented because of missing an equivalent qcode.
Hervé
Hervé Poussineau (5):
ps2: reject unknown commands, instead of blindly accepting them
ps2: correctly handle 'get/set scancode' command
ps2: allow keycode translation for all scancode sets
ps2: use QEMU qcodes instead of scancodes
ps2: do not generate invalid key codes for unknown keys
hw/input/ps2.c | 595 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 541 insertions(+), 54 deletions(-)
Signature · 1 line
2.1.4
PATCH 1/5 ps2: reject unknown commands, instead of blindly accepting them
--- hw/input/ps2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
hw/input/ps2.c +1 -1
@@ -290,7 +290,7 @@ void ps2_write_keyboard(void *opaque, int val)ps2_queue (&s->common,KBD_REPLY_POR );break ;default : -ps2_queue (&s->common,KBD_REPLY_ACK ); +ps2_queue (&s->common,KBD_REPLY_RESEND );break ; }break ;
Signature · 1 line
2.1.4
PATCH 2/5 ps2: correctly handle 'get/set scancode' command
In reply to Hervé PoussineauWhen getting scancode, current scancode must be preceded from reply ack. When setting scancode, we must reject invalid scancodes.
--- hw/input/ps2.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
hw/input/ps2.c +5 -3
@@ -296,16 +296,18 @@ void ps2_write_keyboard(void *opaque, int val)break ;case KBD_CMD_SCANCODE :if (val ==0 ) { +ps2_queue (&s->common,KBD_REPLY_ACK );if (s->scancode_set ==1 )ps2_put_keycode (s,0x43 );else if (s->scancode_set ==2 )ps2_put_keycode (s,0x41 );else if (s->scancode_set ==3 )ps2_put_keycode (s,0x3f ); - }else { -if (val >=1 && val <=3 ) - s->scancode_set = val; + }else if (val >=1 && val <=3 ) { + s->scancode_set = val;ps2_queue (&s->common,KBD_REPLY_ACK ); + }else { +ps2_queue (&s->common,KBD_REPLY_RESEND ); } s->common.write_cmd =-1 ;break ;
Signature · 1 line
2.1.4
PATCH 3/5 ps2: allow keycode translation for all scancode sets
In reply to Hervé PoussineauChange ps2_put_keycode to get an untranslated scancode, which is translated if needed.
As qemu_input_key_value_to_scancode() gives translated scancodes, untranslate them in ps2_keyboard_event first before giving them to ps2_put_keycode.
Results are not changed, except for some keys in translated set 3.
Translation table is available at
https://www.win.tue.nl/~aeb/linux/kbd/scancodes-10.html
--- hw/input/ps2.c | 107 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 81 insertions(+), 26 deletions(-)
hw/input/ps2.c +81 -26
@@ -94,12 +94,10 @@ typedef struct {typedef struct {PS2State common;int scan_enabled; -/* QEMU uses translated PC scancodes internally. To avoid multiple -conversions we do the translation (if any) in the PS/2 emulation -not the keyboard controller. */ int translate;int scancode_set;/* 1=XT, 2=AT, 3=PS/2 */ int ledstate; +bool need_high_bit; }PS2KbdState ; typedef struct {
@@ -138,6 +136,25 @@ static const unsigned char ps2_raw_keycode_set3[128] = {19 ,25 ,57 ,81 ,83 ,92 ,95 ,98 ,99 ,100 ,101 ,103 ,104 ,106 ,109 ,110 }; +static uint8_t translate_table[256 ] = { +0xff ,0x43 ,0x41 ,0x3f ,0x3d ,0x3b ,0x3c ,0x58 ,0x64 ,0x44 ,0x42 ,0x40 ,0x3e ,0x0f ,0x29 ,0x59 , +0x65 ,0x38 ,0x2a ,0x70 ,0x1d ,0x10 ,0x02 ,0x5a ,0x66 ,0x71 ,0x2c ,0x1f ,0x1e ,0x11 ,0x03 ,0x5b , +0x67 ,0x2e ,0x2d ,0x20 ,0x12 ,0x05 ,0x04 ,0x5c ,0x68 ,0x39 ,0x2f ,0x21 ,0x14 ,0x13 ,0x06 ,0x5d , +0x69 ,0x31 ,0x30 ,0x23 ,0x22 ,0x15 ,0x07 ,0x5e ,0x6a ,0x72 ,0x32 ,0x24 ,0x16 ,0x08 ,0x09 ,0x5f , +0x6b ,0x33 ,0x25 ,0x17 ,0x18 ,0x0b ,0x0a ,0x60 ,0x6c ,0x34 ,0x35 ,0x26 ,0x27 ,0x19 ,0x0c ,0x61 , +0x6d ,0x73 ,0x28 ,0x74 ,0x1a ,0x0d ,0x62 ,0x6e ,0x3a ,0x36 ,0x1c ,0x1b ,0x75 ,0x2b ,0x63 ,0x76 , +0x55 ,0x56 ,0x77 ,0x78 ,0x79 ,0x7a ,0x0e ,0x7b ,0x7c ,0x4f ,0x7d ,0x4b ,0x47 ,0x7e ,0x7f ,0x6f , +0x52 ,0x53 ,0x50 ,0x4c ,0x4d ,0x48 ,0x01 ,0x45 ,0x57 ,0x4e ,0x51 ,0x4a ,0x37 ,0x49 ,0x46 ,0x54 , +0x80 ,0x81 ,0x82 ,0x41 ,0x54 ,0x85 ,0x86 ,0x87 ,0x88 ,0x89 ,0x8a ,0x8b ,0x8c ,0x8d ,0x8e ,0x8f , +0x90 ,0x91 ,0x92 ,0x93 ,0x94 ,0x95 ,0x96 ,0x97 ,0x98 ,0x99 ,0x9a ,0x9b ,0x9c ,0x9d ,0x9e ,0x9f , +0xa0 ,0xa1 ,0xa2 ,0xa3 ,0xa4 ,0xa5 ,0xa6 ,0xa7 ,0xa8 ,0xa9 ,0xaa ,0xab ,0xac ,0xad ,0xae ,0xaf , +0xb0 ,0xb1 ,0xb2 ,0xb3 ,0xb4 ,0xb5 ,0xb6 ,0xb7 ,0xb8 ,0xb9 ,0xba ,0xbb ,0xbc ,0xbd ,0xbe ,0xbf , +0xc0 ,0xc1 ,0xc2 ,0xc3 ,0xc4 ,0xc5 ,0xc6 ,0xc7 ,0xc8 ,0xc9 ,0xca ,0xcb ,0xcc ,0xcd ,0xce ,0xcf , +0xd0 ,0xd1 ,0xd2 ,0xd3 ,0xd4 ,0xd5 ,0xd6 ,0xd7 ,0xd8 ,0xd9 ,0xda ,0xdb ,0xdc ,0xdd ,0xde ,0xdf , +0xe0 ,0xe1 ,0xe2 ,0xe3 ,0xe4 ,0xe5 ,0xe6 ,0xe7 ,0xe8 ,0xe9 ,0xea ,0xeb ,0xec ,0xed ,0xee ,0xef , +0xf0 ,0xf1 ,0xf2 ,0xf3 ,0xf4 ,0xf5 ,0xf6 ,0xf7 ,0xf8 ,0xf9 ,0xfa ,0xfb ,0xfc ,0xfd ,0xfe ,0xff , +}; +void ps2_queue (void *opaque,int b) {PS2State *s = (PS2State *)opaque;
@@ -152,29 +169,26 @@ void ps2_queue(void *opaque, int b) s->update_irq (s->update_arg,1 ); } -/* -keycode is expressed as follow: -bit 7 - 0 key pressed, 1 = key released -bits 6-0 - translated scancode set 2 -*/ +/* keycode is the untranslated scancode in the current scancode set. */ static void ps2_put_keycode (void *opaque,int keycode) {PS2KbdState *s = opaque;trace_ps2_put_keycode (opaque, keycode);qemu_system_wakeup_request (QEMU_WAKEUP_REASON_OTHER ); -/* XXX: add support for scancode set 1 */ -if (!s->translate && keycode <0xe0 && s->scancode_set >1 ) { -if (keycode &0x80 ) { -ps2_queue (&s->common,0xf0 ); - } -if (s->scancode_set ==2 ) { - keycode = ps2_raw_keycode[keycode &0x7f ]; - }else if (s->scancode_set ==3 ) { - keycode = ps2_raw_keycode_set3[keycode &0x7f ]; + +if (s->translate) { +if (keycode ==0xf0 ) { + s->need_high_bit = true; + }else if (s->need_high_bit) { +ps2_queue (&s->common, translate_table[keycode] |0x80 ); + s->need_high_bit = false; + }else { +ps2_queue (&s->common, translate_table[keycode]); } - } -ps2_queue (&s->common, keycode); + }else { +ps2_queue (&s->common, keycode); + } } static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,
@@ -183,13 +197,41 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,PS2KbdState *s = (PS2KbdState *)dev;int scancodes[3 ], i, count;InputKeyEvent *key = evt->u.key.data; +int keycode;qemu_system_wakeup_request (QEMU_WAKEUP_REASON_OTHER ); count =qemu_input_key_value_to_scancode (key->key, key->down, scancodes); + +/* handle invalid key */ +if (count ==1 && scancodes[0 ] ==0x00 ) { +ps2_queue (&s->common,0x00 ); +return ; + }else if (count ==1 && scancodes[0 ] ==0x80 ) { +if (s->translate || s->scancode_set ==1 ) { +ps2_queue (&s->common,0x80 ); + }else { +ps2_queue (&s->common,0xf0 ); +ps2_queue (&s->common,0x00 ); + } +return ; + } +for (i =0 ; i < count; i++) { -ps2_put_keycode (s, scancodes[i]); +/* XXX: add support for scancode set 1 */ + keycode = scancodes[i]; +if (keycode <0xe0 && (s->scancode_set >1 || s->translate)) { +if (keycode &0x80 ) { +ps2_put_keycode (&s->common,0xf0 ); + } +if (s->scancode_set ==1 || s->scancode_set ==2 ) { + keycode = ps2_raw_keycode[keycode &0x7f ]; + }else if (s->scancode_set ==3 ) { + keycode = ps2_raw_keycode_set3[keycode &0x7f ]; + } + } +ps2_put_keycode (s, keycode); } }
@@ -297,12 +339,7 @@ void ps2_write_keyboard(void *opaque, int val)case KBD_CMD_SCANCODE :if (val ==0 ) {ps2_queue (&s->common,KBD_REPLY_ACK ); -if (s->scancode_set ==1 ) -ps2_put_keycode (s,0x43 ); -else if (s->scancode_set ==2 ) -ps2_put_keycode (s,0x41 ); -else if (s->scancode_set ==3 ) -ps2_put_keycode (s,0x3f ); +ps2_put_keycode (s, s->scancode_set); }else if (val >=1 && val <=3 ) { s->scancode_set = val;ps2_queue (&s->common,KBD_REPLY_ACK );
@@ -692,6 +729,23 @@ static const VMStateDescription vmstate_ps2_keyboard_ledstate = { } }; +static bool ps2_keyboard_need_high_bit_needed (void *opaque) +{ +PS2KbdState *s = opaque; +return s->need_high_bit !=0 ;/* 0 is the usual state */ +} + +static const VMStateDescription vmstate_ps2_keyboard_need_high_bit = { + .name ="ps2kbd/need_high_bit" , + .version_id =1 , + .minimum_version_id =1 , + .needed = ps2_keyboard_need_high_bit_needed, + .fields = (VMStateField []) { +VMSTATE_BOOL (need_high_bit, PS2KbdState), +VMSTATE_END_OF_LIST () + } +}; +static int ps2_kbd_post_load (void * opaque,int version_id) {PS2KbdState *s = (PS2KbdState *)opaque;
@@ -728,6 +782,7 @@ static const VMStateDescription vmstate_ps2_keyboard = { }, .subsections = (const VMStateDescription*[]) { &vmstate_ps2_keyboard_ledstate, + &vmstate_ps2_keyboard_need_high_bit,NULL } };
Signature · 1 line
2.1.4
PATCH 4/5 ps2: use QEMU qcodes instead of scancodes
In reply to Hervé PoussineauThis fixes problems with translated set 1, where most make code were wrong. This fixes problems with set 3 for extended keys (like arrows) and lot of other keys. Added a FIXME for set 3, where most keys must not (by default) deliver a break code.
Detailed list of changes on untranslated set 2:
- change of ALTGR break code from 0xe4 to 0xf0 0x08
- change of ALTGR_R break code from 0xe0 0xe4 to 0xe0 0xf0 0x08
- change of F7 make code from 0x02 to 0x83
- change of F7 break code from 0xf0 0x02 to 0xf0 0x83
- change of PRINT make code from 0xe0 0x7c to 0xe0 0x12 0xe0 0x7c
- change of PRINT break code from 0xe0 0xf0 0x7c to 0xe0 0xf0 0x7c 0xe0 0xf0 0x12
- change of PAUSE key: new make code = old make code + old break code, no more break code
- change on RO break code from 0xf3 to 0xf0 0x51
- change on KP_COMMA break code from 0xfe to 0xf0 0x6d
Detailed list of changes on translated set 2 (the most commonly used):
- change of PRINT make code from 0xe0 0x37 to 0xe0 0x2a 0xe0 0x37
- change of PRINT break code from 0xe0 0xb7 to 0xe0 0xb7 0xe0 0xaa
- change of PAUSE key: new make code = old make code + old break code, no more break code
Reference:
http://www.computer-engineering.org/ps2keyboard/scancodes1.html
http://www.computer-engineering.org/ps2keyboard/scancodes2.html
http://www.computer-engineering.org/ps2keyboard/scancodes3.html
--- hw/input/ps2.c | 533 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 485 insertions(+), 48 deletions(-)
hw/input/ps2.c +485 -48
@@ -114,26 +114,395 @@ typedef struct {uint8_t mouse_buttons; } PS2MouseState; -/* Table to convert from PC scancodes to raw scancodes. */ -static const unsigned char ps2_raw_keycode[128 ] = { -0 ,118 ,22 ,30 ,38 ,37 ,46 ,54 ,61 ,62 ,70 ,69 ,78 ,85 ,102 ,13 , -21 ,29 ,36 ,45 ,44 ,53 ,60 ,67 ,68 ,77 ,84 ,91 ,90 ,20 ,28 ,27 , -35 ,43 ,52 ,51 ,59 ,66 ,75 ,76 ,82 ,14 ,18 ,93 ,26 ,34 ,33 ,42 , -50 ,49 ,58 ,65 ,73 ,74 ,89 ,124 ,17 ,41 ,88 ,5 ,6 ,4 ,12 ,3 , -11 ,2 ,10 ,1 ,9 ,119 ,126 ,108 ,117 ,125 ,123 ,107 ,115 ,116 ,121 ,105 , -114 ,122 ,112 ,113 ,127 ,96 ,97 ,120 ,7 ,15 ,23 ,31 ,39 ,47 ,55 ,63 , -71 ,79 ,86 ,94 ,8 ,16 ,24 ,32 ,40 ,48 ,56 ,64 ,72 ,80 ,87 ,111 , -19 ,25 ,57 ,81 ,83 ,92 ,95 ,98 ,99 ,100 ,101 ,103 ,104 ,106 ,109 ,110 +/* Table to convert from QEMU codes to scancodes. */ +static const uint16_t qcode_to_keycode_set1[Q_KEY_CODE__MAX ] = { + [0 ...Q_KEY_CODE__MAX -1 ] =0 , + + [Q_KEY_CODE_A ] =0x1e , + [Q_KEY_CODE_B ] =0x30 , + [Q_KEY_CODE_C ] =0x2e , + [Q_KEY_CODE_D ] =0x20 , + [Q_KEY_CODE_E ] =0x12 , + [Q_KEY_CODE_F ] =0x21 , + [Q_KEY_CODE_G ] =0x22 , + [Q_KEY_CODE_H ] =0x23 , + [Q_KEY_CODE_I ] =0x17 , + [Q_KEY_CODE_J ] =0x24 , + [Q_KEY_CODE_K ] =0x25 , + [Q_KEY_CODE_L ] =0x26 , + [Q_KEY_CODE_M ] =0x32 , + [Q_KEY_CODE_N ] =0x31 , + [Q_KEY_CODE_O ] =0x18 , + [Q_KEY_CODE_P ] =0x19 , + [Q_KEY_CODE_Q ] =0x10 , + [Q_KEY_CODE_R ] =0x13 , + [Q_KEY_CODE_S ] =0x1f , + [Q_KEY_CODE_T ] =0x14 , + [Q_KEY_CODE_U ] =0x16 , + [Q_KEY_CODE_V ] =0x2f , + [Q_KEY_CODE_W ] =0x11 , + [Q_KEY_CODE_X ] =0x2d , + [Q_KEY_CODE_Y ] =0x15 , + [Q_KEY_CODE_Z ] =0x2c , + [Q_KEY_CODE_0 ] =0x0b , + [Q_KEY_CODE_1 ] =0x02 , + [Q_KEY_CODE_2 ] =0x03 , + [Q_KEY_CODE_3 ] =0x04 , + [Q_KEY_CODE_4 ] =0x05 , + [Q_KEY_CODE_5 ] =0x06 , + [Q_KEY_CODE_6 ] =0x07 , + [Q_KEY_CODE_7 ] =0x08 , + [Q_KEY_CODE_8 ] =0x09 , + [Q_KEY_CODE_9 ] =0x0a , + [Q_KEY_CODE_GRAVE_ACCENT ] =0x29 , + [Q_KEY_CODE_MINUS ] =0x0c , + [Q_KEY_CODE_EQUAL ] =0x0d , + [Q_KEY_CODE_BACKSLASH ] =0x2b , + [Q_KEY_CODE_BACKSPACE ] =0x0e , + [Q_KEY_CODE_SPC ] =0x39 , + [Q_KEY_CODE_TAB ] =0x0f , + [Q_KEY_CODE_CAPS_LOCK ] =0x3a , + [Q_KEY_CODE_SHIFT ] =0x2a , + [Q_KEY_CODE_CTRL ] =0x1d , + [Q_KEY_CODE_META_L ] =0xe05b , + [Q_KEY_CODE_ALT ] =0x38 , + [Q_KEY_CODE_SHIFT_R ] =0x36 , + [Q_KEY_CODE_CTRL_R ] =0xe01d , + [Q_KEY_CODE_META_R ] =0xe05c , + [Q_KEY_CODE_ALT_R ] =0xe038 , + [Q_KEY_CODE_MENU ] =0xe05d , + [Q_KEY_CODE_RET ] =0x1c , + [Q_KEY_CODE_ESC ] =0x01 , + [Q_KEY_CODE_F1 ] =0x3b , + [Q_KEY_CODE_F2 ] =0x3c , + [Q_KEY_CODE_F3 ] =0x3d , + [Q_KEY_CODE_F4 ] =0x3e , + [Q_KEY_CODE_F5 ] =0x3f , + [Q_KEY_CODE_F6 ] =0x40 , + [Q_KEY_CODE_F7 ] =0x41 , + [Q_KEY_CODE_F8 ] =0x42 , + [Q_KEY_CODE_F9 ] =0x43 , + [Q_KEY_CODE_F10 ] =0x44 , + [Q_KEY_CODE_F11 ] =0x57 , + [Q_KEY_CODE_F12 ] =0x58 , +/* special handling for Q_KEY_CODE_PRINT */ + [Q_KEY_CODE_SCROLL_LOCK ] =0x46 , +/* special handling for Q_KEY_CODE_PAUSE */ + [Q_KEY_CODE_BRACKET_LEFT ] =0x1a , + [Q_KEY_CODE_INSERT ] =0xe052 , + [Q_KEY_CODE_HOME ] =0xe047 , + [Q_KEY_CODE_PGUP ] =0xe049 , + [Q_KEY_CODE_DELETE ] =0xe053 , + [Q_KEY_CODE_END ] =0xe04f , + [Q_KEY_CODE_PGDN ] =0xe051 , + [Q_KEY_CODE_UP ] =0xe048 , + [Q_KEY_CODE_LEFT ] =0xe04b , + [Q_KEY_CODE_DOWN ] =0xe050 , + [Q_KEY_CODE_RIGHT ] =0xe04d , + [Q_KEY_CODE_NUM_LOCK ] =0x45 , + [Q_KEY_CODE_KP_DIVIDE ] =0xe035 , + [Q_KEY_CODE_KP_MULTIPLY ] =0x37 , + [Q_KEY_CODE_KP_SUBTRACT ] =0x4a , + [Q_KEY_CODE_KP_ADD ] =0x4e , + [Q_KEY_CODE_KP_ENTER ] =0xe01c , + [Q_KEY_CODE_KP_DECIMAL ] =0x53 , + [Q_KEY_CODE_KP_0 ] =0x52 , + [Q_KEY_CODE_KP_1 ] =0x4f , + [Q_KEY_CODE_KP_2 ] =0x50 , + [Q_KEY_CODE_KP_3 ] =0x51 , + [Q_KEY_CODE_KP_4 ] =0x4b , + [Q_KEY_CODE_KP_5 ] =0x4c , + [Q_KEY_CODE_KP_6 ] =0x4d , + [Q_KEY_CODE_KP_7 ] =0x47 , + [Q_KEY_CODE_KP_8 ] =0x48 , + [Q_KEY_CODE_KP_9 ] =0x49 , + [Q_KEY_CODE_BRACKET_RIGHT ] =0x1b , + [Q_KEY_CODE_SEMICOLON ] =0x27 , + [Q_KEY_CODE_APOSTROPHE ] =0x28 , + [Q_KEY_CODE_COMMA ] =0x33 , + [Q_KEY_CODE_DOT ] =0x34 , + [Q_KEY_CODE_SLASH ] =0x35 , + +#if 0 + [Q_KEY_CODE_POWER ] =0x0e5e , + [Q_KEY_CODE_SLEEP ] =0x0e5f , + [Q_KEY_CODE_WAKE ] =0x0e63 , + + [Q_KEY_CODE_AUDIONEXT ] =0xe019 , + [Q_KEY_CODE_AUDIOPREV ] =0xe010 , + [Q_KEY_CODE_AUDIOSTOP ] =0xe024 , + [Q_KEY_CODE_AUDIOPLAY ] =0xe022 , + [Q_KEY_CODE_AUDIOMUTE ] =0xe020 , + [Q_KEY_CODE_VOLUMEUP ] =0xe030 , + [Q_KEY_CODE_VOLUMEDOWN ] =0xe02e , + [Q_KEY_CODE_MEDIASELECT ] =0xe06d , + [Q_KEY_CODE_MAIL ] =0xe06c , + [Q_KEY_CODE_CALCULATOR ] =0xe021 , + [Q_KEY_CODE_COMPUTER ] =0xe06b , + [Q_KEY_CODE_AC_SEARCH ] =0xe065 , + [Q_KEY_CODE_AC_HOME ] =0xe032 , + [Q_KEY_CODE_AC_BACK ] =0xe06a , + [Q_KEY_CODE_AC_FORWARD ] =0xe069 , + [Q_KEY_CODE_AC_STOP ] =0xe068 , + [Q_KEY_CODE_AC_REFRESH ] =0xe067 , + [Q_KEY_CODE_AC_BOOKMARKS ] =0xe066 , +#endif + + [Q_KEY_CODE_ASTERISK ] =0x37 , + [Q_KEY_CODE_LESS ] =0x56 , + [Q_KEY_CODE_RO ] =0x73 , + [Q_KEY_CODE_KP_COMMA ] =0x7e , }; -static const unsigned char ps2_raw_keycode_set3[128 ] = { -0 ,8 ,22 ,30 ,38 ,37 ,46 ,54 ,61 ,62 ,70 ,69 ,78 ,85 ,102 ,13 , -21 ,29 ,36 ,45 ,44 ,53 ,60 ,67 ,68 ,77 ,84 ,91 ,90 ,17 ,28 ,27 , -35 ,43 ,52 ,51 ,59 ,66 ,75 ,76 ,82 ,14 ,18 ,92 ,26 ,34 ,33 ,42 , -50 ,49 ,58 ,65 ,73 ,74 ,89 ,126 ,25 ,41 ,20 ,7 ,15 ,23 ,31 ,39 , -47 ,2 ,63 ,71 ,79 ,118 ,95 ,108 ,117 ,125 ,132 ,107 ,115 ,116 ,124 ,105 , -114 ,122 ,112 ,113 ,127 ,96 ,97 ,86 ,94 ,15 ,23 ,31 ,39 ,47 ,55 ,63 , -71 ,79 ,86 ,94 ,8 ,16 ,24 ,32 ,40 ,48 ,56 ,64 ,72 ,80 ,87 ,111 , -19 ,25 ,57 ,81 ,83 ,92 ,95 ,98 ,99 ,100 ,101 ,103 ,104 ,106 ,109 ,110 + +static const uint16_t qcode_to_keycode_set2[Q_KEY_CODE__MAX ] = { + [0 ...Q_KEY_CODE__MAX -1 ] =0 , + + [Q_KEY_CODE_A ] =0x1c , + [Q_KEY_CODE_B ] =0x32 , + [Q_KEY_CODE_C ] =0x21 , + [Q_KEY_CODE_D ] =0x23 , + [Q_KEY_CODE_E ] =0x24 , + [Q_KEY_CODE_F ] =0x2b , + [Q_KEY_CODE_G ] =0x34 , + [Q_KEY_CODE_H ] =0x33 , + [Q_KEY_CODE_I ] =0x43 , + [Q_KEY_CODE_J ] =0x3b , + [Q_KEY_CODE_K ] =0x42 , + [Q_KEY_CODE_L ] =0x4b , + [Q_KEY_CODE_M ] =0x3a , + [Q_KEY_CODE_N ] =0x31 , + [Q_KEY_CODE_O ] =0x44 , + [Q_KEY_CODE_P ] =0x4d , + [Q_KEY_CODE_Q ] =0x15 , + [Q_KEY_CODE_R ] =0x2d , + [Q_KEY_CODE_S ] =0x1b , + [Q_KEY_CODE_T ] =0x2c , + [Q_KEY_CODE_U ] =0x3c , + [Q_KEY_CODE_V ] =0x2a , + [Q_KEY_CODE_W ] =0x1d , + [Q_KEY_CODE_X ] =0x22 , + [Q_KEY_CODE_Y ] =0x35 , + [Q_KEY_CODE_Z ] =0x1a , + [Q_KEY_CODE_0 ] =0x45 , + [Q_KEY_CODE_1 ] =0x16 , + [Q_KEY_CODE_2 ] =0x1e , + [Q_KEY_CODE_3 ] =0x26 , + [Q_KEY_CODE_4 ] =0x25 , + [Q_KEY_CODE_5 ] =0x2e , + [Q_KEY_CODE_6 ] =0x36 , + [Q_KEY_CODE_7 ] =0x3d , + [Q_KEY_CODE_8 ] =0x3e , + [Q_KEY_CODE_9 ] =0x46 , + [Q_KEY_CODE_GRAVE_ACCENT ] =0x0e , + [Q_KEY_CODE_MINUS ] =0x4e , + [Q_KEY_CODE_EQUAL ] =0x55 , + [Q_KEY_CODE_BACKSLASH ] =0x5d , + [Q_KEY_CODE_BACKSPACE ] =0x66 , + [Q_KEY_CODE_SPC ] =0x29 , + [Q_KEY_CODE_TAB ] =0x0d , + [Q_KEY_CODE_CAPS_LOCK ] =0x58 , + [Q_KEY_CODE_SHIFT ] =0x12 , + [Q_KEY_CODE_CTRL ] =0x14 , + [Q_KEY_CODE_META_L ] =0xe01f , + [Q_KEY_CODE_ALT ] =0x11 , + [Q_KEY_CODE_SHIFT_R ] =0x59 , + [Q_KEY_CODE_CTRL_R ] =0xe014 , + [Q_KEY_CODE_META_R ] =0xe027 , + [Q_KEY_CODE_ALT_R ] =0xe011 , + [Q_KEY_CODE_MENU ] =0xe02f , + [Q_KEY_CODE_RET ] =0x5a , + [Q_KEY_CODE_ESC ] =0x76 , + [Q_KEY_CODE_F1 ] =0x05 , + [Q_KEY_CODE_F2 ] =0x06 , + [Q_KEY_CODE_F3 ] =0x04 , + [Q_KEY_CODE_F4 ] =0x0c , + [Q_KEY_CODE_F5 ] =0x03 , + [Q_KEY_CODE_F6 ] =0x0b , + [Q_KEY_CODE_F7 ] =0x83 , + [Q_KEY_CODE_F8 ] =0x0a , + [Q_KEY_CODE_F9 ] =0x01 , + [Q_KEY_CODE_F10 ] =0x09 , + [Q_KEY_CODE_F11 ] =0x78 , + [Q_KEY_CODE_F12 ] =0x07 , +/* special handling for Q_KEY_CODE_PRINT */ + [Q_KEY_CODE_SCROLL_LOCK ] =0x7e , +/* special handling for Q_KEY_CODE_PAUSE */ + [Q_KEY_CODE_BRACKET_LEFT ] =0x54 , + [Q_KEY_CODE_INSERT ] =0xe070 , + [Q_KEY_CODE_HOME ] =0xe06c , + [Q_KEY_CODE_PGUP ] =0xe07d , + [Q_KEY_CODE_DELETE ] =0xe071 , + [Q_KEY_CODE_END ] =0xe069 , + [Q_KEY_CODE_PGDN ] =0xe07a , + [Q_KEY_CODE_UP ] =0xe075 , + [Q_KEY_CODE_LEFT ] =0xe06b , + [Q_KEY_CODE_DOWN ] =0xe072 , + [Q_KEY_CODE_RIGHT ] =0xe074 , + [Q_KEY_CODE_NUM_LOCK ] =0x77 , + [Q_KEY_CODE_KP_DIVIDE ] =0xe04a , + [Q_KEY_CODE_KP_MULTIPLY ] =0x7c , + [Q_KEY_CODE_KP_SUBTRACT ] =0x7b , + [Q_KEY_CODE_KP_ADD ] =0x79 , + [Q_KEY_CODE_KP_ENTER ] =0xe05a , + [Q_KEY_CODE_KP_DECIMAL ] =0x71 , + [Q_KEY_CODE_KP_0 ] =0x70 , + [Q_KEY_CODE_KP_1 ] =0x69 , + [Q_KEY_CODE_KP_2 ] =0x72 , + [Q_KEY_CODE_KP_3 ] =0x7a , + [Q_KEY_CODE_KP_4 ] =0x6b , + [Q_KEY_CODE_KP_5 ] =0x73 , + [Q_KEY_CODE_KP_6 ] =0x74 , + [Q_KEY_CODE_KP_7 ] =0x6c , + [Q_KEY_CODE_KP_8 ] =0x75 , + [Q_KEY_CODE_KP_9 ] =0x7d , + [Q_KEY_CODE_BRACKET_RIGHT ] =0x5b , + [Q_KEY_CODE_SEMICOLON ] =0x4c , + [Q_KEY_CODE_APOSTROPHE ] =0x52 , + [Q_KEY_CODE_COMMA ] =0x41 , + [Q_KEY_CODE_DOT ] =0x49 , + [Q_KEY_CODE_SLASH ] =0x4a , + +#if 0 + [Q_KEY_CODE_POWER ] =0x0e37 , + [Q_KEY_CODE_SLEEP ] =0x0e3f , + [Q_KEY_CODE_WAKE ] =0x0e5e , + + [Q_KEY_CODE_AUDIONEXT ] =0xe04d , + [Q_KEY_CODE_AUDIOPREV ] =0xe015 , + [Q_KEY_CODE_AUDIOSTOP ] =0xe03b , + [Q_KEY_CODE_AUDIOPLAY ] =0xe034 , + [Q_KEY_CODE_AUDIOMUTE ] =0xe023 , + [Q_KEY_CODE_VOLUMEUP ] =0xe032 , + [Q_KEY_CODE_VOLUMEDOWN ] =0xe021 , + [Q_KEY_CODE_MEDIASELECT ] =0xe050 , + [Q_KEY_CODE_MAIL ] =0xe048 , + [Q_KEY_CODE_CALCULATOR ] =0xe02b , + [Q_KEY_CODE_COMPUTER ] =0xe040 , + [Q_KEY_CODE_AC_SEARCH ] =0xe010 , + [Q_KEY_CODE_AC_HOME ] =0xe03a , + [Q_KEY_CODE_AC_BACK ] =0xe038 , + [Q_KEY_CODE_AC_FORWARD ] =0xe030 , + [Q_KEY_CODE_AC_STOP ] =0xe028 , + [Q_KEY_CODE_AC_REFRESH ] =0xe020 , + [Q_KEY_CODE_AC_BOOKMARKS ] =0xe018 , +#endif + + [Q_KEY_CODE_ALTGR ] =0x08 , + [Q_KEY_CODE_ALTGR_R ] =0xe008 , + [Q_KEY_CODE_ASTERISK ] =0x7c , + [Q_KEY_CODE_LESS ] =0x61 , + [Q_KEY_CODE_SYSRQ ] =0x7f , + [Q_KEY_CODE_RO ] =0x51 , + [Q_KEY_CODE_KP_COMMA ] =0x6d , +}; + +static const uint16_t qcode_to_keycode_set3[Q_KEY_CODE__MAX ] = { + [0 ...Q_KEY_CODE__MAX -1 ] =0 , + + [Q_KEY_CODE_A ] =0x1c , + [Q_KEY_CODE_B ] =0x32 , + [Q_KEY_CODE_C ] =0x21 , + [Q_KEY_CODE_D ] =0x23 , + [Q_KEY_CODE_E ] =0x24 , + [Q_KEY_CODE_F ] =0x2b , + [Q_KEY_CODE_G ] =0x34 , + [Q_KEY_CODE_H ] =0x33 , + [Q_KEY_CODE_I ] =0x43 , + [Q_KEY_CODE_J ] =0x3b , + [Q_KEY_CODE_K ] =0x42 , + [Q_KEY_CODE_L ] =0x4b , + [Q_KEY_CODE_M ] =0x3a , + [Q_KEY_CODE_N ] =0x31 , + [Q_KEY_CODE_O ] =0x44 , + [Q_KEY_CODE_P ] =0x4d , + [Q_KEY_CODE_Q ] =0x15 , + [Q_KEY_CODE_R ] =0x2d , + [Q_KEY_CODE_S ] =0x1b , + [Q_KEY_CODE_T ] =0x2c , + [Q_KEY_CODE_U ] =0x3c , + [Q_KEY_CODE_V ] =0x2a , + [Q_KEY_CODE_W ] =0x1d , + [Q_KEY_CODE_X ] =0x22 , + [Q_KEY_CODE_Y ] =0x35 , + [Q_KEY_CODE_Z ] =0x1a , + [Q_KEY_CODE_0 ] =0x45 , + [Q_KEY_CODE_1 ] =0x16 , + [Q_KEY_CODE_2 ] =0x1e , + [Q_KEY_CODE_3 ] =0x26 , + [Q_KEY_CODE_4 ] =0x25 , + [Q_KEY_CODE_5 ] =0x2e , + [Q_KEY_CODE_6 ] =0x36 , + [Q_KEY_CODE_7 ] =0x3d , + [Q_KEY_CODE_8 ] =0x3e , + [Q_KEY_CODE_9 ] =0x46 , + [Q_KEY_CODE_GRAVE_ACCENT ] =0x0e , + [Q_KEY_CODE_MINUS ] =0x4e , + [Q_KEY_CODE_EQUAL ] =0x55 , + [Q_KEY_CODE_BACKSLASH ] =0x5c , + [Q_KEY_CODE_BACKSPACE ] =0x66 , + [Q_KEY_CODE_SPC ] =0x29 , + [Q_KEY_CODE_TAB ] =0x0d , + [Q_KEY_CODE_CAPS_LOCK ] =0x14 , + [Q_KEY_CODE_SHIFT ] =0x12 , + [Q_KEY_CODE_CTRL ] =0x11 , + [Q_KEY_CODE_META_L ] =0x8b , + [Q_KEY_CODE_ALT ] =0x19 , + [Q_KEY_CODE_SHIFT_R ] =0x59 , + [Q_KEY_CODE_CTRL_R ] =0x58 , + [Q_KEY_CODE_META_R ] =0x8c , + [Q_KEY_CODE_ALT_R ] =0x39 , + [Q_KEY_CODE_MENU ] =0x8d , + [Q_KEY_CODE_RET ] =0x5a , + [Q_KEY_CODE_ESC ] =0x08 , + [Q_KEY_CODE_F1 ] =0x07 , + [Q_KEY_CODE_F2 ] =0x0f , + [Q_KEY_CODE_F3 ] =0x17 , + [Q_KEY_CODE_F4 ] =0x1f , + [Q_KEY_CODE_F5 ] =0x27 , + [Q_KEY_CODE_F6 ] =0x2f , + [Q_KEY_CODE_F7 ] =0x37 , + [Q_KEY_CODE_F8 ] =0x3f , + [Q_KEY_CODE_F9 ] =0x47 , + [Q_KEY_CODE_F10 ] =0x4f , + [Q_KEY_CODE_F11 ] =0x56 , + [Q_KEY_CODE_F12 ] =0x5e , + [Q_KEY_CODE_PRINT ] =0x57 , + [Q_KEY_CODE_SCROLL_LOCK ] =0x5f , + [Q_KEY_CODE_PAUSE ] =0x62 , + [Q_KEY_CODE_BRACKET_LEFT ] =0x54 , + [Q_KEY_CODE_INSERT ] =0x67 , + [Q_KEY_CODE_HOME ] =0x6e , + [Q_KEY_CODE_PGUP ] =0x6f , + [Q_KEY_CODE_DELETE ] =0x64 , + [Q_KEY_CODE_END ] =0x65 , + [Q_KEY_CODE_PGDN ] =0x6d , + [Q_KEY_CODE_UP ] =0x63 , + [Q_KEY_CODE_LEFT ] =0x61 , + [Q_KEY_CODE_DOWN ] =0x60 , + [Q_KEY_CODE_RIGHT ] =0x6a , + [Q_KEY_CODE_NUM_LOCK ] =0x76 , + [Q_KEY_CODE_KP_DIVIDE ] =0x4a , + [Q_KEY_CODE_KP_MULTIPLY ] =0x7e , + [Q_KEY_CODE_KP_SUBTRACT ] =0x4e , + [Q_KEY_CODE_KP_ADD ] =0x7c , + [Q_KEY_CODE_KP_ENTER ] =0x79 , + [Q_KEY_CODE_KP_DECIMAL ] =0x71 , + [Q_KEY_CODE_KP_0 ] =0x70 , + [Q_KEY_CODE_KP_1 ] =0x69 , + [Q_KEY_CODE_KP_2 ] =0x72 , + [Q_KEY_CODE_KP_3 ] =0x7a , + [Q_KEY_CODE_KP_4 ] =0x6b , + [Q_KEY_CODE_KP_5 ] =0x73 , + [Q_KEY_CODE_KP_6 ] =0x74 , + [Q_KEY_CODE_KP_7 ] =0x6c , + [Q_KEY_CODE_KP_8 ] =0x75 , + [Q_KEY_CODE_KP_9 ] =0x7d , + [Q_KEY_CODE_BRACKET_RIGHT ] =0x5b , + [Q_KEY_CODE_SEMICOLON ] =0x4c , + [Q_KEY_CODE_APOSTROPHE ] =0x52 , + [Q_KEY_CODE_COMMA ] =0x41 , + [Q_KEY_CODE_DOT ] =0x49 , + [Q_KEY_CODE_SLASH ] =0x4a , };static uint8_t translate_table[256 ] = {
@@ -195,43 +564,111 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src, InputEvent *evt) {PS2KbdState *s = (PS2KbdState *)dev; -int scancodes[3 ], i, count;InputKeyEvent *key = evt->u.key.data; -int keycode; +int qcode; +uint16_t keycode;qemu_system_wakeup_request (QEMU_WAKEUP_REASON_OTHER ); - count =qemu_input_key_value_to_scancode (key->key, - key->down, - scancodes); - -/* handle invalid key */ -if (count ==1 && scancodes[0 ] ==0x00 ) { -ps2_queue (&s->common,0x00 ); -return ; - }else if (count ==1 && scancodes[0 ] ==0x80 ) { -if (s->translate || s->scancode_set ==1 ) { -ps2_queue (&s->common,0x80 ); +assert (evt->type ==INPUT_EVENT_KIND_KEY ); + qcode =qemu_input_key_value_to_qcode (key->key); + +if (s->scancode_set ==1 ) { +if (qcode ==Q_KEY_CODE_PAUSE ) { +if (key->down) { +ps2_put_keycode (s,0xe1 ); +ps2_put_keycode (s,0x1d ); +ps2_put_keycode (s,0x45 ); +ps2_put_keycode (s,0x91 ); +ps2_put_keycode (s,0x9d ); +ps2_put_keycode (s,0xc5 ); + } + }else if (qcode ==Q_KEY_CODE_PRINT ) { +if (key->down) { +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0x2a ); +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0x37 ); + }else { +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0xb7 ); +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0xaa ); + } }else { -ps2_queue (&s->common,0xf0 ); -ps2_queue (&s->common,0x00 ); + keycode = qcode_to_keycode_set1[qcode]; +if (keycode) { +if (keycode &0xff00 ) { +ps2_put_keycode (s, keycode >>8 ); + } +if (!key->down) { + keycode |=0x80 ; + } +ps2_put_keycode (s, keycode &0xff ); + }else { +ps2_queue (&s->common, key->down ?0x00 :0x80 ); + } } -return ; - } - -for (i =0 ; i < count; i++) { -/* XXX: add support for scancode set 1 */ - keycode = scancodes[i]; -if (keycode <0xe0 && (s->scancode_set >1 || s->translate)) { -if (keycode &0x80 ) { -ps2_put_keycode (&s->common,0xf0 ); + }else if (s->scancode_set ==2 ) { +if (qcode ==Q_KEY_CODE_PAUSE ) { +if (key->down) { +ps2_put_keycode (s,0xe1 ); +ps2_put_keycode (s,0x14 ); +ps2_put_keycode (s,0x77 ); +ps2_put_keycode (s,0xe1 ); +ps2_put_keycode (s,0xf0 ); +ps2_put_keycode (s,0x14 ); +ps2_put_keycode (s,0xf0 ); +ps2_put_keycode (s,0x77 ); } -if (s->scancode_set ==1 || s->scancode_set ==2 ) { - keycode = ps2_raw_keycode[keycode &0x7f ]; - }else if (s->scancode_set ==3 ) { - keycode = ps2_raw_keycode_set3[keycode &0x7f ]; + }else if (qcode ==Q_KEY_CODE_PRINT ) { +if (key->down) { +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0x12 ); +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0x7c ); + }else { +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0xf0 ); +ps2_put_keycode (s,0x7c ); +ps2_put_keycode (s,0xe0 ); +ps2_put_keycode (s,0xf0 ); +ps2_put_keycode (s,0x12 ); } + }else { + keycode = qcode_to_keycode_set2[qcode]; +if (keycode) { +if (keycode &0xff00 ) { +ps2_put_keycode (s, keycode >>8 ); + } +if (!key->down) { +ps2_put_keycode (s,0xf0 ); + } +ps2_put_keycode (s, keycode &0xff ); + }else if (key->down) { +ps2_queue (&s->common,0x00 ); + }else if (s->translate) { +ps2_queue (&s->common,0x80 ); + }else { +ps2_queue (&s->common,0xf0 ); +ps2_queue (&s->common,0x00 ); + } + } + }else if (s->scancode_set ==3 ) { + keycode = qcode_to_keycode_set3[qcode]; +if (keycode) { +/* FIXME: break code should be configured on a key by key basis */ +if (!key->down) { +ps2_put_keycode (s,0xf0 ); + } +ps2_put_keycode (s, keycode); + }else if (key->down) { +ps2_queue (&s->common,0x00 ); + }else if (s->translate) { +ps2_queue (&s->common,0x80 ); + }else { +ps2_queue (&s->common,0xf0 ); +ps2_queue (&s->common,0x00 ); } -ps2_put_keycode (s, keycode); } }
Signature · 1 line
2.1.4
PATCH 5/5 ps2: do not generate invalid key codes for unknown keys
In reply to Hervé PoussineauInstead, print a warning message.
--- hw/input/ps2.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-)
hw/input/ps2.c +6 -13
@@ -605,7 +605,8 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src, }ps2_put_keycode (s, keycode &0xff ); }else { -ps2_queue (&s->common, key->down ?0x00 :0x80 ); +qemu_log_mask (LOG_UNIMP , +"ps2: ignoring key with qcode %d\n" , qcode); } } }else if (s->scancode_set ==2 ) {
@@ -644,13 +645,9 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,ps2_put_keycode (s,0xf0 ); }ps2_put_keycode (s, keycode &0xff ); - }else if (key->down) { -ps2_queue (&s->common,0x00 ); - }else if (s->translate) { -ps2_queue (&s->common,0x80 ); }else { -ps2_queue (&s->common,0xf0 ); -ps2_queue (&s->common,0x00 ); +qemu_log_mask (LOG_UNIMP , +"ps2: ignoring key with qcode %d\n" , qcode); } } }else if (s->scancode_set ==3 ) {
@@ -661,13 +658,9 @@ static void ps2_keyboard_event(DeviceState *dev, QemuConsole *src,ps2_put_keycode (s,0xf0 ); }ps2_put_keycode (s, keycode); - }else if (key->down) { -ps2_queue (&s->common,0x00 ); - }else if (s->translate) { -ps2_queue (&s->common,0x80 ); }else { -ps2_queue (&s->common,0xf0 ); -ps2_queue (&s->common,0x00 ); +qemu_log_mask (LOG_UNIMP , +"ps2: ignoring key with qcode %d\n" , qcode); } } }
Signature · 1 line
2.1.4
Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally.
Hi,
Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally.
Type: series
Message-id: [email protected]
Subject: [Qemu-devel] [PATCH 0/5] ps2: fix keyboard set 3 and misc improvements
=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
make J=8 docker-test-quick@centos6
make J=8 docker-test-mingw@fedora
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
f897257 ps2: do not generate invalid key codes for unknown keys 8a471af ps2: use QEMU qcodes instead of scancodes
af3f9d4 ps2: allow keycode translation for all scancode sets 0efd0b0 ps2: correctly handle 'get/set scancode' command dcc6e28 ps2: reject unknown commands, instead of blindly accepting them
=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into 'dtc'...
Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf'
BUILD centos6
ARCHIVE qemu.tgz
ARCHIVE dtc.tgz
COPY RUNNER
RUN test-quick in centos6
No C++ compiler available; disabling C++ specific optional code
Install prefix /tmp/qemu-test/src/tests/docker/install BIOS directory /tmp/qemu-test/src/tests/docker/install/share/qemu binary directory /tmp/qemu-test/src/tests/docker/install/bin
library directory /tmp/qemu-test/src/tests/docker/install/lib module directory /tmp/qemu-test/src/tests/docker/install/lib/qemu libexec directory /tmp/qemu-test/src/tests/docker/install/libexec include directory /tmp/qemu-test/src/tests/docker/install/include config directory /tmp/qemu-test/src/tests/docker/install/etc
local state directory /tmp/qemu-test/src/tests/docker/install/var
Manual directory /tmp/qemu-test/src/tests/docker/install/share/man ELF interp prefix /usr/gnemul/qemu-%M
Source path /tmp/qemu-test/src C compiler cc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g QEMU_CFLAGS -I/usr/include/pixman-1 -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled no gprof enabled no sparse enabled no strip binaries yes profiler no static build no pixman system SDL support yes (1.2.14) GTK support no GTK GL support no VTE support no TLS priority NORMAL GNUTLS support no GNUTLS rnd no libgcrypt no libgcrypt kdf no nettle no nettle kdf no libtasn1 no curses support no virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support no VNC support yes VNC SASL support no VNC JPEG support no VNC PNG support no xen support no brlapi support no bluez support no Documentation no PIE yes vde support no netmap support no Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes RDMA support no TCG interpreter no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes uuid support no
libcap-ng support no
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
Trace backends log spice support no rbd support no xfsctl support no smartcard support no libusb no usb net redir no OpenGL support no OpenGL dmabufs no libiscsi support no libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info no
QGA MSI support no
seccomp support no
coroutine backend ucontext
coroutine pool yes
GlusterFS support no
Archipelago support no
gcov gcov gcov enabled no TPM support yes libssh2 support no TPM passthrough yes QOM debugging yes vhdx no lzo support no snappy support no bzip2 support no
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization no
replication support yes
GEN x86_64-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp GEN config-host.h GEN qemu-options.def GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN qapi-event.h GEN aarch64-softmmu/config-devices.mak GEN x86_64-softmmu/config-devices.mak GEN qmp-introspect.h GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN config-all-devices.mak GEN trace/generated-events.h GEN trace/generated-tracers.h GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h CC tests/qemu-iotests/socket_scm_helper.o GEN qga/qapi-generated/qga-qapi-types.h GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qmp-commands.h GEN qga/qapi-generated/qga-qapi-types.c GEN qga/qapi-generated/qga-qapi-visit.c GEN qga/qapi-generated/qga-qmp-marshal.c GEN qmp-introspect.c GEN qapi-types.c GEN qapi-visit.c CC qapi/qapi-visit-core.o GEN qapi-event.c CC qapi/qapi-dealloc-visitor.o CC qapi/qmp-input-visitor.o CC qapi/qmp-output-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/string-input-visitor.o CC qapi/string-output-visitor.o CC qapi/opts-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qstring.o CC qobject/qint.o CC qobject/qdict.o CC qobject/qlist.o CC qobject/qfloat.o CC qobject/qbool.o CC qobject/qjson.o CC qobject/qobject.o CC qobject/json-lexer.o CC qobject/json-streamer.o CC qobject/json-parser.o GEN trace/generated-events.c CC trace/control.o CC trace/qmp.o CC util/osdep.o CC util/cutils.o CC util/unicode.o CC util/qemu-timer-common.o CC util/compatfd.o CC util/event_notifier-posix.o CC util/mmap-alloc.o CC util/oslib-posix.o CC util/qemu-openpty.o CC util/qemu-thread-posix.o CC util/memfd.o CC util/envlist.o CC util/path.o CC util/module.o CC util/bitmap.o CC util/bitops.o CC util/hbitmap.o CC util/fifo8.o CC util/acl.o CC util/error.o CC util/qemu-error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/qemu-progress.o CC util/hexdump.o CC util/crc32c.o CC util/throttle.o CC util/getauxval.o CC util/readline.o CC util/rfifolock.o CC util/rcu.o CC util/qemu-coroutine.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-io.o CC util/qemu-coroutine-sleep.o CC util/coroutine-ucontext.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/log.o CC util/qdist.o CC util/qht.o CC util/range.o CC crypto/pbkdf-stub.o CC stubs/arch-query-cpu-def.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/bdrv-next-monitor-owned.o CC stubs/blk-commit-all.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-clock.o CC stubs/cpu-get-icount.o /tmp/qemu-test/src/util/qht.c: In function ‘qht_reset_size’: /tmp/qemu-test/src/util/qht.c:413: warning: ‘new’ may be used uninitialized in this function CC stubs/dump.o CC stubs/fdset-add-fd.o CC stubs/fdset-find-fd.o CC stubs/fdset-get-fd.o CC stubs/fdset-remove-fd.o CC stubs/gdbstub.o CC stubs/get-fd.o CC stubs/get-next-serial.o CC stubs/get-vm-name.o CC stubs/iothread-lock.o CC stubs/is-daemonized.o CC stubs/machine-init-done.o CC stubs/migr-blocker.o CC stubs/mon-is-qmp.o CC stubs/mon-printf.o CC stubs/monitor-init.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/replay.o CC stubs/replay-user.o CC stubs/reset.o CC stubs/runstate-check.o CC stubs/set-fd-handler.o CC stubs/slirp.o CC stubs/sysbus.o CC stubs/trace-control.o CC stubs/uuid.o CC stubs/vm-stop.o CC stubs/vmstate.o CC stubs/cpus.o CC stubs/kvm.o CC stubs/qmp_pc_dimm_device_list.o CC stubs/target-monitor-defs.o CC stubs/target-get-monitor-def.o CC stubs/vhost.o CC stubs/iohandler.o CC stubs/smbios_type_38.o CC stubs/ipmi.o CC stubs/pc_madt_cpu_entry.o CC contrib/ivshmem-client/ivshmem-client.o CC contrib/ivshmem-client/main.o CC contrib/ivshmem-server/ivshmem-server.o CC contrib/ivshmem-server/main.o CC qemu-nbd.o CC async.o CC thread-pool.o CC block.o CC blockjob.o CC main-loop.o CC iohandler.o CC qemu-timer.o CC aio-posix.o CC qemu-io-cmds.o CC replication.o CC block/raw_bsd.o CC block/qcow.o CC block/vdi.o CC block/vmdk.o CC block/cloop.o CC block/bochs.o CC block/vpc.o CC block/vvfat.o CC block/qcow2.o CC block/qcow2-refcount.o CC block/qcow2-cluster.o CC block/qcow2-snapshot.o CC block/qcow2-cache.o CC block/qed.o CC block/qed-gencb.o CC block/qed-l2-cache.o CC block/qed-table.o CC block/qed-cluster.o CC block/qed-check.o CC block/quorum.o CC block/parallels.o CC block/blkdebug.o CC block/blkverify.o CC block/blkreplay.o CC block/block-backend.o CC block/snapshot.o CC block/qapi.o CC block/raw-posix.o CC block/null.o CC block/mirror.o CC block/commit.o CC block/io.o CC block/throttle-groups.o CC block/nbd.o CC block/nbd-client.o CC block/sheepdog.o CC block/accounting.o CC block/dirty-bitmap.o CC block/write-threshold.o CC block/backup.o CC block/replication.o CC block/crypto.o CC nbd/server.o CC nbd/client.o CC nbd/common.o CC block/dmg.o CC crypto/init.o CC crypto/hash.o CC crypto/hash-glib.o CC crypto/aes.o CC crypto/desrfb.o CC crypto/cipher.o CC crypto/tlscreds.o CC crypto/tlscredsanon.o CC crypto/tlscredsx509.o CC crypto/tlssession.o CC crypto/random-platform.o CC crypto/secret.o CC crypto/pbkdf.o CC crypto/ivgen.o CC crypto/ivgen-essiv.o CC crypto/ivgen-plain.o CC crypto/ivgen-plain64.o CC crypto/afsplit.o CC crypto/xts.o CC crypto/block.o CC crypto/block-qcow.o CC crypto/block-luks.o CC io/channel.o CC io/channel-buffer.o CC io/channel-command.o CC io/channel-file.o CC io/channel-tls.o CC io/channel-socket.o CC io/channel-watch.o CC io/channel-websock.o CC io/channel-util.o CC io/task.o CC qom/object.o CC qom/container.o CC qom/qom-qobject.o CC qom/object_interfaces.o GEN qemu-img-cmds.h CC qemu-io.o CC qemu-bridge-helper.o CC blockdev.o CC blockdev-nbd.o CC iothread.o CC qdev-monitor.o CC device-hotplug.o CC os-posix.o CC qemu-char.o CC page_cache.o CC accel.o CC bt-host.o CC bt-vhci.o CC dma-helpers.o CC vl.o CC tpm.o CC device_tree.o GEN qmp-marshal.c CC qmp.o CC hmp.o CC tcg-runtime.o CC audio/audio.o CC audio/noaudio.o CC audio/wavaudio.o CC audio/mixeng.o CC audio/sdlaudio.o CC audio/ossaudio.o CC audio/wavcapture.o CC backends/rng.o CC backends/rng-egd.o CC backends/rng-random.o CC backends/msmouse.o CC backends/testdev.o CC backends/tpm.o CC backends/hostmem.o CC backends/hostmem-ram.o CC backends/hostmem-file.o CC block/stream.o CC disas/arm.o CC disas/i386.o CC fsdev/qemu-fsdev-dummy.o CC fsdev/qemu-fsdev-opts.o CC hw/acpi/core.o CC hw/acpi/piix4.o CC hw/acpi/pcihp.o CC hw/acpi/ich9.o CC hw/acpi/tco.o CC hw/acpi/cpu_hotplug.o CC hw/acpi/memory_hotplug.o CC hw/acpi/memory_hotplug_acpi_table.o CC hw/acpi/cpu.o CC hw/acpi/bios-linker-loader.o CC hw/acpi/acpi_interface.o CC hw/acpi/aml-build.o CC hw/acpi/ipmi.o CC hw/audio/sb16.o CC hw/audio/es1370.o CC hw/audio/ac97.o CC hw/audio/fmopl.o CC hw/audio/adlib.o CC hw/audio/gus.o CC hw/audio/gusemu_hal.o CC hw/audio/gusemu_mixer.o CC hw/audio/cs4231a.o CC hw/audio/intel-hda.o CC hw/audio/hda-codec.o CC hw/audio/pcspk.o CC hw/audio/wm8750.o CC hw/audio/pl041.o CC hw/audio/lm4549.o CC hw/audio/marvell_88w8618.o CC hw/block/block.o CC hw/block/cdrom.o CC hw/block/hd-geometry.o CC hw/block/fdc.o CC hw/block/m25p80.o CC hw/block/nand.o CC hw/block/pflash_cfi01.o CC hw/block/pflash_cfi02.o CC hw/block/ecc.o CC hw/block/nvme.o CC hw/block/onenand.o CC hw/bt/core.o CC hw/bt/l2cap.o CC hw/bt/sdp.o CC hw/bt/hci.o CC hw/bt/hid.o CC hw/bt/hci-csr.o CC hw/char/ipoctal232.o CC hw/char/parallel.o CC hw/char/pl011.o CC hw/char/serial.o CC hw/char/serial-isa.o CC hw/char/serial-pci.o CC hw/char/virtio-console.o CC hw/char/cadence_uart.o CC hw/char/debugcon.o CC hw/char/imx_serial.o CC hw/core/qdev.o CC hw/core/qdev-properties.o CC hw/core/bus.o CC hw/core/fw-path-provider.o CC hw/core/irq.o CC hw/core/hotplug.o CC hw/core/ptimer.o CC hw/core/sysbus.o CC hw/core/machine.o CC hw/core/null-machine.o CC hw/core/loader.o CC hw/core/qdev-properties-system.o CC hw/core/register.o CC hw/core/platform-bus.o CC hw/display/ads7846.o CC hw/display/cirrus_vga.o CC hw/display/pl110.o CC hw/display/ssd0303.o CC hw/display/ssd0323.o CC hw/display/vga-pci.o CC hw/display/vga-isa.o CC hw/display/vmware_vga.o CC hw/display/blizzard.o CC hw/display/exynos4210_fimd.o CC hw/display/framebuffer.o CC hw/display/tc6393xb.o CC hw/dma/pl080.o CC hw/dma/pl330.o CC hw/dma/i8257.o CC hw/dma/xlnx-zynq-devcfg.o CC hw/gpio/max7310.o CC hw/gpio/pl061.o CC hw/gpio/zaurus.o CC hw/gpio/gpio_key.o CC hw/i2c/core.o CC hw/i2c/smbus.o CC hw/i2c/smbus_eeprom.o CC hw/i2c/i2c-ddc.o CC hw/i2c/versatile_i2c.o CC hw/i2c/smbus_ich9.o CC hw/i2c/pm_smbus.o CC hw/i2c/bitbang_i2c.o CC hw/i2c/exynos4210_i2c.o CC hw/i2c/imx_i2c.o CC hw/i2c/aspeed_i2c.o CC hw/ide/core.o CC hw/ide/atapi.o CC hw/ide/qdev.o CC hw/ide/pci.o CC hw/ide/isa.o CC hw/ide/piix.o CC hw/ide/microdrive.o CC hw/ide/ahci.o CC hw/ide/ich.o CC hw/input/hid.o CC hw/input/lm832x.o CC hw/input/pckbd.o CC hw/input/pl050.o CC hw/input/ps2.o CC hw/input/stellaris_input.o CC hw/input/tsc2005.o CC hw/input/vmmouse.o CC hw/input/virtio-input.o CC hw/input/virtio-input-hid.o CC hw/input/virtio-input-host.o CC hw/intc/i8259_common.o CC hw/intc/i8259.o CC hw/intc/pl190.o CC hw/intc/imx_avic.o CC hw/intc/realview_gic.o CC hw/intc/ioapic_common.o CC hw/intc/arm_gic_common.o CC hw/intc/arm_gic.o CC hw/intc/arm_gicv2m.o CC hw/intc/arm_gicv3_common.o CC hw/intc/arm_gicv3.o CC hw/intc/arm_gicv3_dist.o CC hw/intc/arm_gicv3_redist.o CC hw/ipack/ipack.o CC hw/ipack/tpci200.o CC hw/ipmi/ipmi.o CC hw/ipmi/ipmi_bmc_sim.o CC hw/ipmi/ipmi_bmc_extern.o CC hw/ipmi/isa_ipmi_kcs.o CC hw/ipmi/isa_ipmi_bt.o CC hw/isa/isa-bus.o CC hw/isa/apm.o CC hw/mem/pc-dimm.o CC hw/mem/nvdimm.o CC hw/misc/applesmc.o CC hw/misc/max111x.o CC hw/misc/tmp105.o CC hw/misc/debugexit.o CC hw/misc/sga.o CC hw/misc/pc-testdev.o CC hw/misc/pci-testdev.o CC hw/misc/arm_l2x0.o CC hw/misc/arm_integrator_debug.o CC hw/misc/a9scu.o CC hw/misc/arm11scu.o CC hw/net/ne2000.o CC hw/net/eepro100.o CC hw/net/pcnet-pci.o CC hw/net/pcnet.o CC hw/net/e1000.o CC hw/net/e1000x_common.o CC hw/net/net_tx_pkt.o CC hw/net/net_rx_pkt.o CC hw/net/e1000e.o CC hw/net/e1000e_core.o CC hw/net/rtl8139.o CC hw/net/vmxnet3.o CC hw/net/smc91c111.o CC hw/net/lan9118.o CC hw/net/ne2000-isa.o CC hw/net/xgmac.o CC hw/net/allwinner_emac.o CC hw/net/imx_fec.o CC hw/net/cadence_gem.o CC hw/net/stellaris_enet.o CC hw/net/rocker/rocker.o CC hw/net/rocker/rocker_fp.o CC hw/net/rocker/rocker_desc.o CC hw/net/rocker/rocker_world.o CC hw/net/rocker/rocker_of_dpa.o CC hw/nvram/eeprom93xx.o CC hw/nvram/fw_cfg.o CC hw/pci-bridge/pci_bridge_dev.o CC hw/pci-bridge/pci_expander_bridge.o CC hw/pci-bridge/xio3130_upstream.o CC hw/pci-bridge/xio3130_downstream.o CC hw/pci-bridge/ioh3420.o CC hw/pci-bridge/i82801b11.o CC hw/pci-host/pam.o CC hw/pci-host/versatile.o CC hw/pci-host/piix.o CC hw/pci-host/q35.o CC hw/pci-host/gpex.o CC hw/pci/pci.o CC hw/pci/pci_bridge.o CC hw/pci/msix.o CC hw/pci/msi.o CC hw/pci/shpc.o /tmp/qemu-test/src/hw/nvram/fw_cfg.c: In function ‘fw_cfg_dma_transfer’: /tmp/qemu-test/src/hw/nvram/fw_cfg.c:330: warning: ‘read’ may be used uninitialized in this function CC hw/pci/slotid_cap.o CC hw/pci/pci_host.o CC hw/pci/pcie_host.o CC hw/pci/pcie.o CC hw/pci/pcie_aer.o CC hw/pci/pcie_port.o CC hw/pci/pci-stub.o CC hw/pcmcia/pcmcia.o CC hw/scsi/scsi-disk.o CC hw/scsi/scsi-generic.o CC hw/scsi/scsi-bus.o CC hw/scsi/lsi53c895a.o CC hw/scsi/mptsas.o CC hw/scsi/mptconfig.o CC hw/scsi/mptendian.o CC hw/scsi/megasas.o CC hw/scsi/vmw_pvscsi.o CC hw/scsi/esp.o CC hw/scsi/esp-pci.o CC hw/sd/pl181.o CC hw/sd/ssi-sd.o CC hw/sd/sd.o CC hw/sd/core.o CC hw/sd/sdhci.o CC hw/smbios/smbios.o CC hw/smbios/smbios_type_38.o CC hw/ssi/pl022.o CC hw/ssi/ssi.o CC hw/ssi/xilinx_spips.o CC hw/ssi/aspeed_smc.o CC hw/timer/arm_timer.o CC hw/timer/arm_mptimer.o CC hw/timer/a9gtimer.o CC hw/timer/cadence_ttc.o CC hw/timer/ds1338.o CC hw/timer/hpet.o CC hw/timer/i8254_common.o CC hw/timer/i8254.o CC hw/timer/pl031.o CC hw/timer/twl92230.o CC hw/timer/imx_epit.o CC hw/timer/imx_gpt.o CC hw/timer/stm32f2xx_timer.o CC hw/timer/aspeed_timer.o CC hw/tpm/tpm_tis.o CC hw/tpm/tpm_passthrough.o CC hw/tpm/tpm_util.o CC hw/usb/core.o CC hw/usb/combined-packet.o CC hw/usb/bus.o CC hw/usb/libhw.o CC hw/usb/desc.o CC hw/usb/desc-msos.o CC hw/usb/hcd-uhci.o CC hw/usb/hcd-ohci.o CC hw/usb/hcd-ehci.o CC hw/usb/hcd-ehci-pci.o CC hw/usb/hcd-ehci-sysbus.o CC hw/usb/hcd-xhci.o CC hw/usb/hcd-musb.o CC hw/usb/dev-hub.o CC hw/usb/dev-hid.o CC hw/usb/dev-wacom.o CC hw/usb/dev-storage.o CC hw/usb/dev-uas.o CC hw/usb/dev-audio.o CC hw/usb/dev-serial.o CC hw/usb/dev-network.o CC hw/usb/dev-bluetooth.o CC hw/usb/dev-smartcard-reader.o CC hw/usb/dev-mtp.o CC hw/usb/host-stub.o CC hw/virtio/virtio-rng.o CC hw/virtio/virtio-pci.o CC hw/virtio/virtio-bus.o CC hw/virtio/virtio-mmio.o CC hw/watchdog/watchdog.o CC hw/watchdog/wdt_i6300esb.o CC hw/watchdog/wdt_ib700.o CC migration/migration.o CC migration/socket.o CC migration/fd.o CC migration/exec.o CC migration/tls.o CC migration/vmstate.o CC migration/qemu-file.o CC migration/qemu-file-channel.o CC migration/xbzrle.o CC migration/postcopy-ram.o CC migration/qjson.o CC migration/block.o CC net/net.o CC net/queue.o CC net/checksum.o CC net/util.o CC net/hub.o CC net/socket.o CC net/dump.o CC net/eth.o CC net/l2tpv3.o CC net/tap.o CC net/vhost-user.o CC net/tap-linux.o CC net/slirp.o CC net/filter.o CC net/filter-mirror.o CC net/filter-buffer.o CC qom/cpu.o CC replay/replay.o CC replay/replay-internal.o CC replay/replay-events.o CC replay/replay-time.o CC replay/replay-input.o CC replay/replay-char.o CC slirp/cksum.o CC slirp/if.o CC slirp/ip_icmp.o CC slirp/ip6_icmp.o CC slirp/ip6_input.o CC slirp/ip6_output.o CC slirp/ip_input.o /tmp/qemu-test/src/replay/replay-internal.c: In function ‘replay_put_array’: /tmp/qemu-test/src/replay/replay-internal.c:68: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result CC slirp/ip_output.o CC slirp/dnssearch.o CC slirp/dhcpv6.o CC slirp/slirp.o CC slirp/mbuf.o CC slirp/misc.o CC slirp/sbuf.o CC slirp/socket.o CC slirp/tcp_input.o
/tmp/qemu-test/src/slirp/tcp_input.c: In function ‘tcp_input’:/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_p’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_len’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_tos’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_id’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_off’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_ttl’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_sum’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_src.s_addr’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_dst.s_addr’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:220: warning: ‘save_ip6.ip_nh’ may be used uninitialized in this function
CC slirp/tcp_output.o CC slirp/tcp_subr.o CC slirp/tcp_timer.o CC slirp/udp.o CC slirp/udp6.o CC slirp/bootp.o CC slirp/tftp.o CC slirp/arp_table.o CC slirp/ndp_table.o CC ui/keymaps.o CC ui/console.o CC ui/cursor.o CC ui/qemu-pixman.o CC ui/input.o CC ui/input-keymap.o CC ui/input-legacy.o CC ui/input-linux.o CC ui/sdl.o CC ui/sdl_zoom.o CC ui/x_keymap.o CC ui/vnc.o CC ui/vnc-enc-zlib.o CC ui/vnc-enc-hextile.o CC ui/vnc-enc-tight.o CC ui/vnc-palette.o CC ui/vnc-enc-zrle.o CC ui/vnc-auth-vencrypt.o CC ui/vnc-ws.o CC ui/vnc-jobs.o LINK tests/qemu-iotests/socket_scm_helper CC qga/commands.o CC qga/guest-agent-command-state.o CC qga/main.o AS optionrom/multiboot.o AS optionrom/linuxboot.o CC optionrom/linuxboot_dma.o AS optionrom/kvmvapic.o
cc: unrecognized option '-no-integrated-as'
cc: unrecognized option '-no-integrated-as'
CC qga/commands-posix.o
Building optionrom/multiboot.img
Building optionrom/linuxboot.img
CC qga/channel-posix.o
Building optionrom/linuxboot_dma.img
Building optionrom/kvmvapic.img
Building optionrom/multiboot.raw
Building optionrom/linuxboot.raw
Building optionrom/linuxboot_dma.raw
Building optionrom/kvmvapic.raw
CC qga/qapi-generated/qga-qapi-types.o
Signing optionrom/multiboot.bin
CC qga/qapi-generated/qga-qapi-visit.o
Signing optionrom/linuxboot.bin
Signing optionrom/linuxboot_dma.bin
Signing optionrom/kvmvapic.bin
CC qga/qapi-generated/qga-qmp-marshal.o CC qmp-introspect.o CC qapi-visit.o CC qapi-types.o CC qapi-event.o AR libqemustub.a CC qemu-img.o CC qmp-marshal.o CC trace/generated-events.o AR libqemuutil.a LINK ivshmem-client LINK ivshmem-server LINK qemu-nbd LINK qemu-io LINK qemu-bridge-helper LINK qemu-ga LINK qemu-img GEN aarch64-softmmu/hmp-commands.h GEN aarch64-softmmu/hmp-commands-info.h GEN aarch64-softmmu/qmp-commands-old.h GEN aarch64-softmmu/config-target.h GEN x86_64-softmmu/hmp-commands.h GEN x86_64-softmmu/hmp-commands-info.h GEN x86_64-softmmu/qmp-commands-old.h GEN x86_64-softmmu/config-target.h CC aarch64-softmmu/exec.o CC aarch64-softmmu/translate-all.o CC aarch64-softmmu/cpu-exec.o CC aarch64-softmmu/translate-common.o CC aarch64-softmmu/cpu-exec-common.o CC aarch64-softmmu/tcg/tcg.o CC aarch64-softmmu/tcg/tcg-op.o CC x86_64-softmmu/exec.o CC x86_64-softmmu/translate-all.o CC aarch64-softmmu/tcg/optimize.o CC aarch64-softmmu/tcg/tcg-common.o CC aarch64-softmmu/fpu/softfloat.o CC x86_64-softmmu/cpu-exec.o CC aarch64-softmmu/disas.o CC x86_64-softmmu/translate-common.o GEN aarch64-softmmu/gdbstub-xml.c CC aarch64-softmmu/kvm-stub.o CC aarch64-softmmu/arch_init.o CC aarch64-softmmu/cpus.o CC aarch64-softmmu/monitor.o CC aarch64-softmmu/gdbstub.o CC x86_64-softmmu/cpu-exec-common.o CC x86_64-softmmu/tcg/tcg.o CC x86_64-softmmu/tcg/tcg-op.o CC aarch64-softmmu/balloon.o CC x86_64-softmmu/tcg/optimize.o CC x86_64-softmmu/tcg/tcg-common.o CC x86_64-softmmu/fpu/softfloat.o CC aarch64-softmmu/ioport.o CC x86_64-softmmu/disas.o CC x86_64-softmmu/arch_init.o CC x86_64-softmmu/cpus.o CC x86_64-softmmu/monitor.o CC aarch64-softmmu/numa.o CC x86_64-softmmu/gdbstub.o CC aarch64-softmmu/qtest.o CC x86_64-softmmu/balloon.o CC aarch64-softmmu/bootdevice.o CC x86_64-softmmu/ioport.o CC x86_64-softmmu/numa.o CC x86_64-softmmu/qtest.o CC x86_64-softmmu/bootdevice.o CC x86_64-softmmu/kvm-all.o CC x86_64-softmmu/memory.o CC x86_64-softmmu/cputlb.o CC x86_64-softmmu/memory_mapping.o CC x86_64-softmmu/dump.o CC x86_64-softmmu/migration/ram.o CC x86_64-softmmu/migration/savevm.o CC aarch64-softmmu/memory.o CC x86_64-softmmu/xen-common-stub.o CC aarch64-softmmu/cputlb.o CC x86_64-softmmu/xen-hvm-stub.o CC x86_64-softmmu/hw/acpi/nvdimm.o CC x86_64-softmmu/hw/block/virtio-blk.o CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/memory_mapping.o CC x86_64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/dump.o CC aarch64-softmmu/migration/ram.o CC aarch64-softmmu/migration/savevm.o CC x86_64-softmmu/hw/core/nmi.o CC aarch64-softmmu/xen-common-stub.o CC aarch64-softmmu/xen-hvm-stub.o CC aarch64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/hw/char/exynos4210_uart.o CC aarch64-softmmu/hw/char/omap_uart.o CC x86_64-softmmu/hw/cpu/core.o CC x86_64-softmmu/hw/display/vga.o CC x86_64-softmmu/hw/display/virtio-gpu.o CC x86_64-softmmu/hw/display/virtio-gpu-3d.o CC x86_64-softmmu/hw/display/virtio-gpu-pci.o CC x86_64-softmmu/hw/display/virtio-vga.o CC aarch64-softmmu/hw/char/digic-uart.o CC x86_64-softmmu/hw/intc/apic.o CC x86_64-softmmu/hw/intc/apic_common.o CC x86_64-softmmu/hw/intc/ioapic.o CC aarch64-softmmu/hw/char/stm32f2xx_usart.o CC x86_64-softmmu/hw/isa/lpc_ich9.o CC aarch64-softmmu/hw/char/bcm2835_aux.o CC aarch64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/hw/core/nmi.o CC x86_64-softmmu/hw/misc/vmport.o CC aarch64-softmmu/hw/cpu/arm11mpcore.o CC aarch64-softmmu/hw/cpu/realview_mpcore.o CC x86_64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/cpu/a9mpcore.o CC x86_64-softmmu/hw/misc/pvpanic.o CC x86_64-softmmu/hw/misc/edu.o CC aarch64-softmmu/hw/cpu/a15mpcore.o CC x86_64-softmmu/hw/misc/hyperv_testdev.o CC x86_64-softmmu/hw/net/virtio-net.o CC aarch64-softmmu/hw/cpu/core.o CC aarch64-softmmu/hw/display/omap_dss.o CC x86_64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/display/omap_lcdc.o CC aarch64-softmmu/hw/display/pxa2xx_lcd.o CC x86_64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/display/bcm2835_fb.o CC aarch64-softmmu/hw/display/vga.o CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC aarch64-softmmu/hw/display/virtio-gpu.o CC x86_64-softmmu/hw/scsi/vhost-scsi.o CC x86_64-softmmu/hw/timer/mc146818rtc.o CC x86_64-softmmu/hw/vfio/common.o CC aarch64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/hw/display/virtio-gpu-pci.o CC x86_64-softmmu/hw/vfio/pci.o CC x86_64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/display/dpcd.o CC aarch64-softmmu/hw/display/xlnx_dp.o CC aarch64-softmmu/hw/dma/xlnx_dpdma.o CC aarch64-softmmu/hw/dma/omap_dma.o CC aarch64-softmmu/hw/dma/soc_dma.o CC aarch64-softmmu/hw/dma/pxa2xx_dma.o CC x86_64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/dma/bcm2835_dma.o CC x86_64-softmmu/hw/vfio/calxeda-xgmac.o CC aarch64-softmmu/hw/gpio/omap_gpio.o CC x86_64-softmmu/hw/vfio/amd-xgbe.o CC aarch64-softmmu/hw/gpio/imx_gpio.o CC x86_64-softmmu/hw/vfio/spapr.o CC aarch64-softmmu/hw/i2c/omap_i2c.o CC aarch64-softmmu/hw/input/pxa2xx_keypad.o CC aarch64-softmmu/hw/input/tsc210x.o CC aarch64-softmmu/hw/intc/armv7m_nvic.o CC x86_64-softmmu/hw/virtio/virtio.o CC x86_64-softmmu/hw/virtio/virtio-balloon.o CC x86_64-softmmu/hw/virtio/vhost.o CC x86_64-softmmu/hw/virtio/vhost-backend.o CC x86_64-softmmu/hw/virtio/vhost-user.o CC x86_64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/intc/exynos4210_gic.o CC aarch64-softmmu/hw/intc/exynos4210_combiner.o CC aarch64-softmmu/hw/intc/omap_intc.o CC aarch64-softmmu/hw/intc/bcm2835_ic.o CC x86_64-softmmu/hw/i386/multiboot.o CC aarch64-softmmu/hw/intc/bcm2836_control.o CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o CC aarch64-softmmu/hw/intc/aspeed_vic.o CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o CC aarch64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/misc/arm_sysctl.o CC aarch64-softmmu/hw/misc/cbus.o CC aarch64-softmmu/hw/misc/exynos4210_pmu.o CC aarch64-softmmu/hw/misc/imx_ccm.o CC x86_64-softmmu/hw/i386/pc.o CC aarch64-softmmu/hw/misc/imx31_ccm.o CC aarch64-softmmu/hw/misc/imx25_ccm.o CC aarch64-softmmu/hw/misc/imx6_ccm.o CC x86_64-softmmu/hw/i386/pc_piix.o CC aarch64-softmmu/hw/misc/imx6_src.o CC x86_64-softmmu/hw/i386/pc_q35.o CC x86_64-softmmu/hw/i386/pc_sysfw.o CC x86_64-softmmu/hw/i386/x86-iommu.o CC aarch64-softmmu/hw/misc/mst_fpga.o CC x86_64-softmmu/hw/i386/intel_iommu.o CC x86_64-softmmu/hw/i386/acpi-build.o CC x86_64-softmmu/hw/i386/kvmvapic.o /tmp/qemu-test/src/hw/i386/acpi-build.c: In function ‘build_append_pci_bus_devices’: /tmp/qemu-test/src/hw/i386/acpi-build.c:471: warning: ‘notify_method’ may be used uninitialized in this function CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o CC x86_64-softmmu/hw/i386/kvm/clock.o CC aarch64-softmmu/hw/misc/omap_clk.o CC x86_64-softmmu/hw/i386/kvm/apic.o CC x86_64-softmmu/hw/i386/kvm/i8259.o CC aarch64-softmmu/hw/misc/omap_gpmc.o CC x86_64-softmmu/hw/i386/kvm/ioapic.o CC x86_64-softmmu/hw/i386/kvm/i8254.o CC aarch64-softmmu/hw/misc/omap_l4.o CC x86_64-softmmu/hw/i386/kvm/pci-assign.o CC aarch64-softmmu/hw/misc/omap_sdrc.o CC x86_64-softmmu/target-i386/translate.o CC x86_64-softmmu/target-i386/helper.o CC aarch64-softmmu/hw/misc/omap_tap.o CC aarch64-softmmu/hw/misc/bcm2835_mbox.o CC aarch64-softmmu/hw/misc/bcm2835_property.o CC x86_64-softmmu/target-i386/cpu.o CC x86_64-softmmu/target-i386/bpt_helper.o CC x86_64-softmmu/target-i386/excp_helper.o /tmp/qemu-test/src/hw/i386/pc_piix.c: In function ‘igd_passthrough_isa_bridge_create’: /tmp/qemu-test/src/hw/i386/pc_piix.c:1046: warning: ‘pch_rev_id’ may be used uninitialized in this function CC aarch64-softmmu/hw/misc/zynq_slcr.o CC x86_64-softmmu/target-i386/fpu_helper.o CC x86_64-softmmu/target-i386/cc_helper.o CC aarch64-softmmu/hw/misc/zynq-xadc.o CC x86_64-softmmu/target-i386/int_helper.o CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o CC aarch64-softmmu/hw/misc/edu.o CC aarch64-softmmu/hw/misc/auxbus.o CC aarch64-softmmu/hw/misc/aspeed_scu.o CC x86_64-softmmu/target-i386/svm_helper.o CC x86_64-softmmu/target-i386/smm_helper.o CC aarch64-softmmu/hw/misc/aspeed_sdmc.o CC aarch64-softmmu/hw/net/virtio-net.o CC x86_64-softmmu/target-i386/misc_helper.o CC aarch64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/pcmcia/pxa2xx.o CC aarch64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC x86_64-softmmu/target-i386/mem_helper.o CC aarch64-softmmu/hw/scsi/vhost-scsi.o CC aarch64-softmmu/hw/sd/omap_mmc.o CC x86_64-softmmu/target-i386/seg_helper.o CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o CC aarch64-softmmu/hw/ssi/omap_spi.o CC aarch64-softmmu/hw/ssi/imx_spi.o CC aarch64-softmmu/hw/timer/exynos4210_mct.o CC aarch64-softmmu/hw/timer/exynos4210_pwm.o CC x86_64-softmmu/target-i386/mpx_helper.o CC aarch64-softmmu/hw/timer/exynos4210_rtc.o CC x86_64-softmmu/target-i386/gdbstub.o CC aarch64-softmmu/hw/timer/omap_gptimer.o CC aarch64-softmmu/hw/timer/omap_synctimer.o CC aarch64-softmmu/hw/timer/pxa2xx_timer.o CC x86_64-softmmu/target-i386/machine.o CC aarch64-softmmu/hw/timer/digic-timer.o CC x86_64-softmmu/target-i386/arch_memory_mapping.o CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o CC aarch64-softmmu/hw/usb/tusb6010.o CC aarch64-softmmu/hw/vfio/common.o CC x86_64-softmmu/target-i386/arch_dump.o CC aarch64-softmmu/hw/vfio/pci.o CC aarch64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o CC x86_64-softmmu/target-i386/monitor.o CC aarch64-softmmu/hw/vfio/amd-xgbe.o CC aarch64-softmmu/hw/vfio/spapr.o CC x86_64-softmmu/target-i386/kvm.o CC x86_64-softmmu/target-i386/hyperv.o CC aarch64-softmmu/hw/virtio/virtio.o GEN trace/generated-helpers.c CC aarch64-softmmu/hw/virtio/virtio-balloon.o CC x86_64-softmmu/trace/control-target.o CC aarch64-softmmu/hw/virtio/vhost.o CC aarch64-softmmu/hw/virtio/vhost-backend.o CC aarch64-softmmu/hw/virtio/vhost-user.o CC aarch64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/arm/boot.o CC x86_64-softmmu/trace/generated-helpers.o CC aarch64-softmmu/hw/arm/collie.o CC aarch64-softmmu/hw/arm/exynos4_boards.o CC aarch64-softmmu/hw/arm/gumstix.o CC aarch64-softmmu/hw/arm/highbank.o CC aarch64-softmmu/hw/arm/digic_boards.o CC aarch64-softmmu/hw/arm/integratorcp.o CC aarch64-softmmu/hw/arm/mainstone.o CC aarch64-softmmu/hw/arm/musicpal.o CC aarch64-softmmu/hw/arm/nseries.o CC aarch64-softmmu/hw/arm/omap_sx1.o CC aarch64-softmmu/hw/arm/palm.o CC aarch64-softmmu/hw/arm/realview.o CC aarch64-softmmu/hw/arm/spitz.o CC aarch64-softmmu/hw/arm/stellaris.o CC aarch64-softmmu/hw/arm/tosa.o CC aarch64-softmmu/hw/arm/versatilepb.o CC aarch64-softmmu/hw/arm/vexpress.o CC aarch64-softmmu/hw/arm/virt.o CC aarch64-softmmu/hw/arm/xilinx_zynq.o CC aarch64-softmmu/hw/arm/z2.o CC aarch64-softmmu/hw/arm/virt-acpi-build.o CC aarch64-softmmu/hw/arm/netduino2.o CC aarch64-softmmu/hw/arm/sysbus-fdt.o CC aarch64-softmmu/hw/arm/armv7m.o CC aarch64-softmmu/hw/arm/exynos4210.o CC aarch64-softmmu/hw/arm/pxa2xx.o CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o CC aarch64-softmmu/hw/arm/pxa2xx_pic.o CC aarch64-softmmu/hw/arm/digic.o CC aarch64-softmmu/hw/arm/omap1.o CC aarch64-softmmu/hw/arm/omap2.o CC aarch64-softmmu/hw/arm/strongarm.o CC aarch64-softmmu/hw/arm/allwinner-a10.o CC aarch64-softmmu/hw/arm/cubieboard.o CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o CC aarch64-softmmu/hw/arm/bcm2836.o CC aarch64-softmmu/hw/arm/raspi.o CC aarch64-softmmu/hw/arm/stm32f205_soc.o CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o CC aarch64-softmmu/hw/arm/xlnx-ep108.o CC aarch64-softmmu/hw/arm/fsl-imx25.o CC aarch64-softmmu/hw/arm/imx25_pdk.o CC aarch64-softmmu/hw/arm/fsl-imx31.o CC aarch64-softmmu/hw/arm/kzm.o CC aarch64-softmmu/hw/arm/fsl-imx6.o CC aarch64-softmmu/hw/arm/sabrelite.o CC aarch64-softmmu/hw/arm/ast2400.o CC aarch64-softmmu/hw/arm/palmetto-bmc.o CC aarch64-softmmu/target-arm/arm-semi.o CC aarch64-softmmu/target-arm/machine.o CC aarch64-softmmu/target-arm/psci.o CC aarch64-softmmu/target-arm/arch_dump.o CC aarch64-softmmu/target-arm/monitor.o CC aarch64-softmmu/target-arm/kvm-stub.o CC aarch64-softmmu/target-arm/translate.o CC aarch64-softmmu/target-arm/op_helper.o CC aarch64-softmmu/target-arm/helper.o CC aarch64-softmmu/target-arm/cpu.o CC aarch64-softmmu/target-arm/neon_helper.o CC aarch64-softmmu/target-arm/iwmmxt_helper.o CC aarch64-softmmu/target-arm/gdbstub.o LINK x86_64-softmmu/qemu-system-x86_64 CC aarch64-softmmu/target-arm/cpu64.o CC aarch64-softmmu/target-arm/translate-a64.o CC aarch64-softmmu/target-arm/helper-a64.o CC aarch64-softmmu/target-arm/gdbstub64.o CC aarch64-softmmu/target-arm/crypto_helper.o CC aarch64-softmmu/target-arm/arm-powerctl.o GEN trace/generated-helpers.c CC aarch64-softmmu/trace/control-target.o CC aarch64-softmmu/gdbstub-xml.o CC aarch64-softmmu/trace/generated-helpers.o
/tmp/qemu-test/src/target-arm/translate-a64.c: In function ‘handle_shri_with_rndacc’:/tmp/qemu-test/src/target-arm/translate-a64.c:6308: warning: ‘tcg_src_hi’ may be used uninitialized in this function /tmp/qemu-test/src/target-arm/translate-a64.c: In function ‘disas_simd_scalar_two_reg_misc’:/tmp/qemu-test/src/target-arm/translate-a64.c:8035: warning: ‘rmode’ may be used uninitialized in this function
LINK aarch64-softmmu/qemu-system-aarch64 TEST tests/qapi-schema/alternate-any.out TEST tests/qapi-schema/alternate-base.out TEST tests/qapi-schema/alternate-array.out TEST tests/qapi-schema/alternate-clash.out TEST tests/qapi-schema/alternate-conflict-dict.out TEST tests/qapi-schema/alternate-conflict-string.out TEST tests/qapi-schema/alternate-empty.out TEST tests/qapi-schema/alternate-nested.out TEST tests/qapi-schema/alternate-unknown.out TEST tests/qapi-schema/args-alternate.out TEST tests/qapi-schema/args-any.out TEST tests/qapi-schema/args-array-empty.out TEST tests/qapi-schema/args-array-unknown.out TEST tests/qapi-schema/args-bad-boxed.out TEST tests/qapi-schema/args-boxed-anon.out TEST tests/qapi-schema/args-boxed-empty.out TEST tests/qapi-schema/args-boxed-string.out TEST tests/qapi-schema/args-int.out TEST tests/qapi-schema/args-invalid.out TEST tests/qapi-schema/args-member-array-bad.out TEST tests/qapi-schema/args-member-case.out TEST tests/qapi-schema/args-member-unknown.out TEST tests/qapi-schema/args-name-clash.out TEST tests/qapi-schema/args-union.out TEST tests/qapi-schema/args-unknown.out TEST tests/qapi-schema/bad-base.out TEST tests/qapi-schema/bad-data.out TEST tests/qapi-schema/bad-ident.out TEST tests/qapi-schema/bad-type-bool.out TEST tests/qapi-schema/bad-type-dict.out TEST tests/qapi-schema/bad-type-int.out TEST tests/qapi-schema/base-cycle-direct.out TEST tests/qapi-schema/base-cycle-indirect.out TEST tests/qapi-schema/command-int.out TEST tests/qapi-schema/comments.out TEST tests/qapi-schema/double-data.out TEST tests/qapi-schema/double-type.out TEST tests/qapi-schema/duplicate-key.out TEST tests/qapi-schema/enum-bad-name.out TEST tests/qapi-schema/empty.out TEST tests/qapi-schema/enum-bad-prefix.out TEST tests/qapi-schema/enum-clash-member.out TEST tests/qapi-schema/enum-dict-member.out TEST tests/qapi-schema/enum-member-case.out TEST tests/qapi-schema/enum-int-member.out TEST tests/qapi-schema/enum-missing-data.out TEST tests/qapi-schema/enum-wrong-data.out TEST tests/qapi-schema/escape-outside-string.out TEST tests/qapi-schema/escape-too-big.out TEST tests/qapi-schema/escape-too-short.out TEST tests/qapi-schema/event-boxed-empty.out TEST tests/qapi-schema/event-case.out TEST tests/qapi-schema/event-nest-struct.out TEST tests/qapi-schema/flat-union-array-branch.out TEST tests/qapi-schema/flat-union-bad-base.out TEST tests/qapi-schema/flat-union-bad-discriminator.out TEST tests/qapi-schema/flat-union-base-any.out TEST tests/qapi-schema/flat-union-base-union.out TEST tests/qapi-schema/flat-union-clash-member.out TEST tests/qapi-schema/flat-union-empty.out TEST tests/qapi-schema/flat-union-incomplete-branch.out TEST tests/qapi-schema/flat-union-inline.out TEST tests/qapi-schema/flat-union-int-branch.out TEST tests/qapi-schema/flat-union-invalid-branch-key.out TEST tests/qapi-schema/flat-union-invalid-discriminator.out TEST tests/qapi-schema/flat-union-no-base.out TEST tests/qapi-schema/flat-union-optional-discriminator.out TEST tests/qapi-schema/flat-union-string-discriminator.out TEST tests/qapi-schema/funny-char.out TEST tests/qapi-schema/ident-with-escape.out TEST tests/qapi-schema/include-before-err.out TEST tests/qapi-schema/include-cycle.out TEST tests/qapi-schema/include-format-err.out TEST tests/qapi-schema/include-nested-err.out TEST tests/qapi-schema/include-no-file.out TEST tests/qapi-schema/include-non-file.out TEST tests/qapi-schema/include-relpath.out TEST tests/qapi-schema/include-repetition.out TEST tests/qapi-schema/include-self-cycle.out TEST tests/qapi-schema/include-simple.out TEST tests/qapi-schema/indented-expr.out TEST tests/qapi-schema/leading-comma-list.out TEST tests/qapi-schema/leading-comma-object.out TEST tests/qapi-schema/missing-colon.out TEST tests/qapi-schema/missing-comma-list.out TEST tests/qapi-schema/missing-comma-object.out TEST tests/qapi-schema/missing-type.out TEST tests/qapi-schema/nested-struct-data.out TEST tests/qapi-schema/non-objects.out TEST tests/qapi-schema/qapi-schema-test.out TEST tests/qapi-schema/quoted-structural-chars.out TEST tests/qapi-schema/redefined-builtin.out TEST tests/qapi-schema/redefined-command.out TEST tests/qapi-schema/redefined-event.out TEST tests/qapi-schema/redefined-type.out TEST tests/qapi-schema/reserved-command-q.out TEST tests/qapi-schema/reserved-enum-q.out TEST tests/qapi-schema/reserved-member-has.out TEST tests/qapi-schema/reserved-member-q.out TEST tests/qapi-schema/reserved-member-u.out TEST tests/qapi-schema/reserved-member-underscore.out TEST tests/qapi-schema/reserved-type-kind.out TEST tests/qapi-schema/reserved-type-list.out TEST tests/qapi-schema/returns-alternate.out TEST tests/qapi-schema/returns-array-bad.out TEST tests/qapi-schema/returns-dict.out TEST tests/qapi-schema/returns-unknown.out TEST tests/qapi-schema/returns-whitelist.out TEST tests/qapi-schema/struct-base-clash-deep.out TEST tests/qapi-schema/struct-base-clash.out TEST tests/qapi-schema/struct-data-invalid.out TEST tests/qapi-schema/struct-member-invalid.out TEST tests/qapi-schema/trailing-comma-list.out TEST tests/qapi-schema/trailing-comma-object.out TEST tests/qapi-schema/type-bypass-bad-gen.out TEST tests/qapi-schema/unclosed-list.out TEST tests/qapi-schema/unclosed-object.out TEST tests/qapi-schema/unclosed-string.out TEST tests/qapi-schema/unicode-str.out TEST tests/qapi-schema/union-base-no-discriminator.out TEST tests/qapi-schema/union-branch-case.out TEST tests/qapi-schema/union-clash-branches.out TEST tests/qapi-schema/union-empty.out TEST tests/qapi-schema/union-invalid-base.out TEST tests/qapi-schema/union-optional-branch.out TEST tests/qapi-schema/union-unknown.out TEST tests/qapi-schema/unknown-escape.out TEST tests/qapi-schema/unknown-expr-key.out CC tests/check-qdict.o CC tests/check-qfloat.o CC tests/check-qint.o CC tests/check-qstring.o CC tests/check-qlist.o CC tests/check-qnull.o CC tests/check-qjson.o CC tests/test-qmp-output-visitor.o GEN tests/test-qapi-visit.c GEN tests/test-qapi-types.c GEN tests/test-qapi-event.c GEN tests/test-qmp-introspect.c CC tests/test-clone-visitor.o CC tests/test-qmp-input-visitor.o CC tests/test-qmp-input-strict.o CC tests/test-qmp-commands.o GEN tests/test-qmp-marshal.c CC tests/test-string-input-visitor.o CC tests/test-string-output-visitor.o CC tests/test-qmp-event.o CC tests/test-opts-visitor.o CC tests/test-coroutine.o CC tests/test-visitor-serialization.o CC tests/test-iov.o CC tests/test-aio.o CC tests/test-rfifolock.o CC tests/test-throttle.o CC tests/test-thread-pool.o CC tests/test-hbitmap.o CC tests/test-blockjob.o CC tests/test-blockjob-txn.o CC tests/test-x86-cpuid.o CC tests/test-xbzrle.o CC tests/test-cutils.o CC tests/test-vmstate.o CC tests/test-mul64.o CC tests/test-int128.o CC tests/rcutorture.o CC tests/test-rcu-list.o /tmp/qemu-test/src/tests/test-int128.c:180: warning: ‘__noclone__’ attribute directive ignored CC tests/test-qdist.o CC tests/test-qht.o CC tests/test-qht-par.o CC tests/qht-bench.o CC tests/test-bitops.o CC tests/check-qom-interface.o CC tests/check-qom-proplist.o CC tests/test-qemu-opts.o CC tests/test-write-threshold.o CC tests/test-crypto-hash.o CC tests/test-crypto-cipher.o CC tests/test-crypto-secret.o CC tests/test-qga.o CC tests/libqtest.o CC tests/test-timed-average.o CC tests/test-io-task.o CC tests/test-io-channel-socket.o CC tests/io-channel-helpers.o CC tests/test-io-channel-file.o CC tests/test-io-channel-command.o CC tests/test-io-channel-buffer.o CC tests/test-base64.o CC tests/test-crypto-ivgen.o CC tests/test-crypto-afsplit.o CC tests/test-crypto-xts.o CC tests/test-crypto-block.o CC tests/test-logging.o CC tests/test-replication.o CC tests/vhost-user-test.o CC tests/libqos/pci.o CC tests/libqos/fw_cfg.o CC tests/libqos/malloc.o CC tests/libqos/i2c.o CC tests/libqos/libqos.o CC tests/libqos/pci-pc.o CC tests/libqos/malloc-pc.o CC tests/libqos/libqos-pc.o CC tests/libqos/ahci.o CC tests/libqos/virtio.o CC tests/libqos/virtio-pci.o CC tests/libqos/virtio-mmio.o CC tests/libqos/malloc-generic.o CC tests/endianness-test.o CC tests/fdc-test.o CC tests/ide-test.o
/tmp/qemu-test/src/tests/ide-test.c: In function ‘cdrom_pio_impl’:/tmp/qemu-test/src/tests/ide-test.c:739: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result /tmp/qemu-test/src/tests/ide-test.c: In function ‘test_cdrom_dma’:/tmp/qemu-test/src/tests/ide-test.c:832: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
CC tests/ahci-test.o CC tests/hd-geo-test.o CC tests/boot-order-test.o CC tests/bios-tables-test.o CC tests/boot-sector.o CC tests/boot-serial-test.o CC tests/pxe-test.o CC tests/rtc-test.o CC tests/ipmi-kcs-test.o CC tests/ipmi-bt-test.o CC tests/i440fx-test.o CC tests/fw_cfg-test.o CC tests/drive_del-test.o CC tests/wdt_ib700-test.o CC tests/tco-test.o CC tests/e1000-test.o CC tests/e1000e-test.o CC tests/rtl8139-test.o CC tests/pcnet-test.o CC tests/eepro100-test.o CC tests/ne2000-test.o CC tests/nvme-test.o CC tests/ac97-test.o CC tests/es1370-test.o CC tests/virtio-net-test.o CC tests/virtio-balloon-test.o CC tests/virtio-blk-test.o /tmp/qemu-test/src/tests/boot-sector.c: In function ‘boot_sector_init’: /tmp/qemu-test/src/tests/boot-sector.c:80: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result CC tests/virtio-rng-test.o CC tests/virtio-scsi-test.o CC tests/virtio-serial-test.o CC tests/virtio-console-test.o CC tests/tpci200-test.o CC tests/intel-hda-test.o CC tests/ipoctal232-test.o CC tests/display-vga-test.o CC tests/ivshmem-test.o CC tests/vmxnet3-test.o CC tests/pvpanic-test.o CC tests/i82801b11-test.o CC tests/ioh3420-test.o CC tests/usb-hcd-ohci-test.o CC tests/libqos/usb.o CC tests/usb-hcd-uhci-test.o CC tests/usb-hcd-ehci-test.o CC tests/usb-hcd-xhci-test.o CC tests/pc-cpu-test.o CC tests/q35-test.o CC tests/test-netfilter.o CC tests/test-filter-mirror.o CC tests/test-filter-redirector.o CC tests/postcopy-test.o CC tests/device-introspect-test.o CC tests/qom-test.o LINK tests/check-qdict LINK tests/check-qfloat LINK tests/check-qint LINK tests/check-qstring LINK tests/check-qlist LINK tests/check-qnull LINK tests/check-qjson CC tests/test-qapi-visit.o CC tests/test-qapi-event.o CC tests/test-qapi-types.o CC tests/test-qmp-introspect.o CC tests/test-qmp-marshal.o LINK tests/test-coroutine LINK tests/test-visitor-serialization LINK tests/test-iov LINK tests/test-aio LINK tests/test-rfifolock LINK tests/test-throttle LINK tests/test-thread-pool LINK tests/test-hbitmap LINK tests/test-blockjob LINK tests/test-x86-cpuid LINK tests/test-blockjob-txn LINK tests/test-xbzrle LINK tests/test-vmstate LINK tests/test-cutils LINK tests/test-mul64 LINK tests/test-int128 LINK tests/rcutorture LINK tests/test-rcu-list LINK tests/test-qdist LINK tests/test-qht LINK tests/qht-bench LINK tests/test-bitops LINK tests/check-qom-interface LINK tests/check-qom-proplist LINK tests/test-qemu-opts LINK tests/test-write-threshold LINK tests/test-crypto-hash LINK tests/test-crypto-cipher LINK tests/test-crypto-secret LINK tests/test-qga LINK tests/test-timed-average LINK tests/test-io-task LINK tests/test-io-channel-socket LINK tests/test-io-channel-file LINK tests/test-io-channel-command LINK tests/test-io-channel-buffer LINK tests/test-base64 LINK tests/test-crypto-ivgen LINK tests/test-crypto-afsplit LINK tests/test-crypto-xts LINK tests/test-crypto-block LINK tests/test-logging LINK tests/test-replication LINK tests/vhost-user-test LINK tests/endianness-test LINK tests/fdc-test LINK tests/ide-test LINK tests/ahci-test LINK tests/hd-geo-test LINK tests/boot-order-test LINK tests/bios-tables-test LINK tests/boot-serial-test LINK tests/pxe-test LINK tests/rtc-test LINK tests/ipmi-kcs-test LINK tests/ipmi-bt-test LINK tests/i440fx-test LINK tests/fw_cfg-test LINK tests/drive_del-test LINK tests/wdt_ib700-test LINK tests/tco-test LINK tests/e1000-test LINK tests/e1000e-test LINK tests/rtl8139-test LINK tests/pcnet-test LINK tests/eepro100-test LINK tests/ne2000-test LINK tests/nvme-test LINK tests/ac97-test LINK tests/es1370-test LINK tests/virtio-net-test LINK tests/virtio-balloon-test LINK tests/virtio-blk-test LINK tests/virtio-rng-test LINK tests/virtio-scsi-test LINK tests/virtio-serial-test LINK tests/virtio-console-test LINK tests/tpci200-test LINK tests/ipoctal232-test LINK tests/display-vga-test LINK tests/intel-hda-test LINK tests/ivshmem-test LINK tests/vmxnet3-test LINK tests/pvpanic-test LINK tests/i82801b11-test LINK tests/ioh3420-test LINK tests/usb-hcd-ohci-test LINK tests/usb-hcd-uhci-test LINK tests/usb-hcd-ehci-test LINK tests/usb-hcd-xhci-test LINK tests/pc-cpu-test LINK tests/q35-test LINK tests/test-netfilter LINK tests/test-filter-mirror LINK tests/test-filter-redirector LINK tests/postcopy-test LINK tests/device-introspect-test LINK tests/qom-test
GTESTER tests/check-qdict
GTESTER tests/check-qfloat
GTESTER tests/check-qint
GTESTER tests/check-qstring
GTESTER tests/check-qlist
GTESTER tests/check-qnull
GTESTER tests/check-qjson
LINK tests/test-qmp-output-visitor LINK tests/test-clone-visitor LINK tests/test-qmp-input-visitor LINK tests/test-qmp-input-strict LINK tests/test-qmp-commands LINK tests/test-string-input-visitor LINK tests/test-string-output-visitor LINK tests/test-qmp-event LINK tests/test-opts-visitor
GTESTER tests/test-coroutine
GTESTER tests/test-visitor-serialization
GTESTER tests/test-iov
GTESTER tests/test-aio
GTESTER tests/test-rfifolock
GTESTER tests/test-throttle
GTESTER tests/test-thread-pool
GTESTER tests/test-hbitmap
GTESTER tests/test-blockjob
GTESTER tests/test-blockjob-txn
GTESTER tests/test-x86-cpuid
GTESTER tests/test-xbzrle
GTESTER tests/test-vmstate
GTESTER tests/test-cutils
GTESTER tests/test-mul64
GTESTER tests/test-int128
GTESTER tests/rcutorture
GTESTER tests/test-rcu-list
GTESTER tests/test-qdist
GTESTER tests/test-qht
LINK tests/test-qht-par
GTESTER tests/test-bitops
GTESTER tests/check-qom-interface
GTESTER tests/check-qom-proplist
GTESTER tests/test-qemu-opts
GTESTER tests/test-write-threshold
GTESTER tests/test-crypto-hash
GTESTER tests/test-crypto-cipher
GTESTER tests/test-crypto-secret
GTESTER tests/test-qga
GTESTER tests/test-timed-average
GTESTER tests/test-io-task
GTESTER tests/test-io-channel-socket
GTESTER tests/test-io-channel-file
GTESTER tests/test-io-channel-command
GTESTER tests/test-io-channel-buffer
GTESTER tests/test-base64
GTESTER tests/test-crypto-ivgen
GTESTER tests/test-crypto-afsplit
GTESTER tests/test-crypto-xts
GTESTER tests/test-crypto-block
GTESTER tests/test-logging
GTESTER tests/test-replication
GTESTER check-qtest-x86_64
GTESTER check-qtest-aarch64
GTESTER tests/test-qmp-output-visitor
GTESTER tests/test-clone-visitor
GTESTER tests/test-qmp-input-visitor
GTESTER tests/test-qmp-input-strict
GTESTER tests/test-qmp-commands
GTESTER tests/test-string-input-visitor
GTESTER tests/test-string-output-visitor
GTESTER tests/test-qmp-event
GTESTER tests/test-opts-visitor
GTESTER tests/test-qht-par
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator.
BUILD fedora
ARCHIVE qemu.tgz
ARCHIVE dtc.tgz
COPY RUNNER
RUN test-mingw in fedora
Install prefix /tmp/qemu-test/src/tests/docker/install BIOS directory /tmp/qemu-test/src/tests/docker/install binary directory /tmp/qemu-test/src/tests/docker/install
library directory /tmp/qemu-test/src/tests/docker/install/lib module directory /tmp/qemu-test/src/tests/docker/install/lib libexec directory /tmp/qemu-test/src/tests/docker/install/libexec include directory /tmp/qemu-test/src/tests/docker/install/include config directory /tmp/qemu-test/src/tests/docker/install
local state directory queried at runtime
Windows SDK no Source path /tmp/qemu-test/src C compiler x86_64-w64-mingw32-gcc Host C compiler cc C++ compiler x86_64-w64-mingw32-g++ Objective-C compiler clang ARFLAGS rv CFLAGS -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -g QEMU_CFLAGS -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -m64 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16 LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled yes gprof enabled no sparse enabled no strip binaries no profiler no static build no pixman system SDL support yes (1.2.15) GTK support yes (2.24.30) GTK GL support no VTE support no TLS priority NORMAL GNUTLS support yes GNUTLS rnd yes libgcrypt no libgcrypt kdf no nettle yes (3.2) nettle kdf yes libtasn1 yes curses support no virgl support no curl support yes mingw32 support yes Audio drivers dsound Block whitelist (rw) Block whitelist (ro) VirtFS support no VNC support yes VNC SASL support no VNC JPEG support yes VNC PNG support yes xen support no brlapi support no bluez support no Documentation no PIE no vde support no netmap support no Linux AIO support no ATTR/XATTR support no Install blobs yes KVM support no RDMA support no TCG interpreter no fdt support yes preadv support no fdatasync no madvise no posix_madvise no uuid support no
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
Trace backends simple
Trace output file trace-<pid>
spice support no rbd support no xfsctl support no smartcard support no libusb no usb net redir no OpenGL support no OpenGL dmabufs no libiscsi support no libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
GlusterFS support no
Archipelago support no
gcov gcov gcov enabled no TPM support yes libssh2 support yes TPM passthrough no QOM debugging yes vhdx no lzo support no snappy support no bzip2 support yes
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization no
replication support yes
GEN x86_64-softmmu/config-devices.mak.tmp
mkdir -p dtc/libfdt
mkdir -p dtc/tests
GEN aarch64-softmmu/config-devices.mak.tmp GEN config-host.h GEN qmp-commands.h GEN qemu-options.def GEN qapi-visit.h GEN qapi-types.h GEN qapi-event.h GEN qmp-introspect.h GEN x86_64-softmmu/config-devices.mak GEN aarch64-softmmu/config-devices.mak GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN config-all-devices.mak GEN trace/generated-events.h GEN trace/generated-tracers.h
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
GEN trace/generated-tcg-tracers.h
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
GEN trace/generated-helpers-wrappers.h
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
GEN trace/generated-helpers.h
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
LEX convert-dtsv0-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/srcpos.c
BISON dtc-parser.tab.c
LEX dtc-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
DEP convert-dtsv0-lexer.lex.c
DEP dtc-parser.tab.c
DEP dtc-lexer.lex.c
CHK version_gen.h
UPD version_gen.h
DEP /tmp/qemu-test/src/dtc/util.c
CC libfdt/fdt.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_strerror.o
AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
RC version.lo
RC version.o
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qmp-commands.h
GEN qga/qapi-generated/qga-qapi-types.c
GEN qga/qapi-generated/qga-qapi-visit.c
GEN qga/qapi-generated/qga-qmp-marshal.c
GEN qmp-introspect.c
GEN qapi-types.c
GEN qapi-visit.c
GEN qapi-event.c
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qmp-output-visitor.o
CC qapi/qmp-input-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-util.o
CC qobject/qnull.o
CC qobject/qint.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qfloat.o
CC qobject/qbool.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-streamer.o
CC qobject/json-parser.o
GEN trace/generated-events.c
CC trace/simple.o
GEN trace/generated-tracers.c
CC trace/control.o
CC trace/qmp.o
CC util/osdep.o
CC util/cutils.o
CC util/unicode.o
CC util/qemu-timer-common.o
CC util/event_notifier-win32.o
CC util/oslib-win32.o
CC util/qemu-thread-win32.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/fifo8.o
CC util/acl.o
CC util/error.o
CC util/qemu-error.o
CC util/id.o
CC util/iov.o
CC util/qemu-config.o
CC util/qemu-sockets.o
CC util/uri.o
CC util/notify.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/hexdump.o
CC util/crc32c.o
CC util/throttle.o
CC util/getauxval.o
CC util/readline.o
CC util/rfifolock.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-win32.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/qdist.o
CC util/qht.o
CC util/range.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/fdset-add-fd.o
CC stubs/fdset-find-fd.o
CC stubs/fdset-get-fd.o
CC stubs/fdset-remove-fd.o
CC stubs/gdbstub.o
CC stubs/get-next-serial.o
CC stubs/get-fd.o
CC stubs/get-vm-name.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/mon-is-qmp.o
CC stubs/mon-printf.o
CC stubs/monitor-init.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/replay-user.o
CC stubs/reset.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/uuid.o
CC stubs/trace-control.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/fd-register.o
CC stubs/cpus.o
CC stubs/kvm.o
CC stubs/qmp_pc_dimm_device_list.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/vhost.o
CC stubs/iohandler.o
CC stubs/smbios_type_38.o
CC stubs/ipmi.o
CC stubs/pc_madt_cpu_entry.o
GEN qemu-img-cmds.h
CC async.o
CC thread-pool.o
CC block.o
CC blockjob.o
CC main-loop.o
CC iohandler.o
CC qemu-timer.o
CC aio-win32.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw_bsd.o
CC block/qcow.o
CC block/vdi.o
CC block/vmdk.o
CC block/cloop.o
CC block/bochs.o
CC block/vpc.o
CC block/vvfat.o
CC block/qcow2.o
CC block/qcow2-refcount.o
CC block/qcow2-cluster.o
CC block/qcow2-snapshot.o
CC block/qcow2-cache.o
CC block/qed.o
CC block/qed-gencb.o
CC block/qed-l2-cache.o
CC block/qed-table.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/quorum.o
CC block/parallels.o
CC block/blkdebug.o
CC block/blkverify.o
CC block/blkreplay.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/raw-win32.o
CC block/win32-aio.o
CC block/null.o
CC block/mirror.o
CC block/commit.o
CC block/io.o
CC block/throttle-groups.o
CC block/nbd.o
CC block/nbd-client.o
CC block/sheepdog.o
CC block/accounting.o
CC block/dirty-bitmap.o
CC block/write-threshold.o
CC block/backup.o
CC block/replication.o
CC block/crypto.o
CC nbd/server.o
CC nbd/client.o
CC nbd/common.o
CC block/curl.o
CC block/ssh.o
CC block/dmg.o
CC crypto/init.o
CC crypto/hash.o
CC crypto/hash-nettle.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.o
CC crypto/secret.o
CC crypto/random-gnutls.o
CC crypto/pbkdf.o
CC crypto/pbkdf-nettle.o
CC crypto/ivgen.o
CC crypto/ivgen-essiv.o
CC crypto/ivgen-plain.o
CC crypto/ivgen-plain64.o
CC crypto/afsplit.o
CC crypto/xts.o
CC crypto/block.o
CC crypto/block-qcow.o
CC crypto/block-luks.o
CC io/channel.o
CC io/channel-buffer.o
CC io/channel-command.o
CC io/channel-file.o
CC io/channel-socket.o
CC io/channel-tls.o
CC io/channel-watch.o
CC io/channel-websock.o
CC io/channel-util.o
CC io/task.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
CC qemu-io.o
CC blockdev.o
CC blockdev-nbd.o
CC iothread.o
CC qdev-monitor.o
CC device-hotplug.o
CC os-win32.o
CC qemu-char.o
CC page_cache.o
CC accel.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC device_tree.o
GEN qmp-marshal.c
CC qmp.o
CC hmp.o
CC tcg-runtime.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/sdlaudio.o
CC audio/dsoundaudio.o
CC audio/audio_win_int.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/msmouse.o
CC backends/testdev.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC block/stream.o
CC disas/arm.o
CXX disas/arm-a64.o
CC disas/i386.o
CXX disas/libvixl/vixl/utils.o
CXX disas/libvixl/vixl/compiler-intrinsics.o
CXX disas/libvixl/vixl/a64/instructions-a64.o
CXX disas/libvixl/vixl/a64/decoder-a64.o
CXX disas/libvixl/vixl/a64/disasm-a64.o
CC hw/acpi/core.o
CC hw/acpi/piix4.o
CC hw/acpi/pcihp.o
CC hw/acpi/ich9.o
CC hw/acpi/tco.o
CC hw/acpi/cpu_hotplug.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/memory_hotplug_acpi_table.o
CC hw/acpi/cpu.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/aml-build.o
CC hw/acpi/ipmi.o
CC hw/audio/sb16.o
CC hw/audio/es1370.o
CC hw/audio/ac97.o
CC hw/audio/fmopl.o
CC hw/audio/adlib.o
CC hw/audio/gus.o
CC hw/audio/gusemu_hal.o
CC hw/audio/gusemu_mixer.o
CC hw/audio/cs4231a.o
CC hw/audio/intel-hda.o
CC hw/audio/hda-codec.o
CC hw/audio/pcspk.o
CC hw/audio/wm8750.o
CC hw/audio/pl041.o
CC hw/audio/lm4549.o
CC hw/audio/marvell_88w8618.o
CC hw/block/block.o
CC hw/block/cdrom.o
CC hw/block/hd-geometry.o
CC hw/block/fdc.o
CC hw/block/m25p80.o
CC hw/block/nand.o
CC hw/block/pflash_cfi01.o
CC hw/block/pflash_cfi02.o
CC hw/block/ecc.o
CC hw/block/onenand.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/sdp.o
CC hw/bt/hci.o
CC hw/bt/hid.o
CC hw/bt/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/char/parallel.o
CC hw/char/pl011.o
CC hw/char/serial.o
CC hw/char/serial-isa.o
CC hw/char/serial-pci.o
CC hw/char/virtio-console.o
CC hw/char/cadence_uart.o
CC hw/char/debugcon.o
CC hw/char/imx_serial.o
CC hw/core/qdev.o
CC hw/core/qdev-properties.o
CC hw/core/bus.o
CC hw/core/fw-path-provider.o
CC hw/core/irq.o
CC hw/core/hotplug.o
CC hw/core/ptimer.o
CC hw/core/sysbus.o
CC hw/core/machine.o
CC hw/core/null-machine.o
CC hw/core/loader.o
CC hw/core/qdev-properties-system.o
CC hw/core/register.o
CC hw/core/platform-bus.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/pl110.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/vga-pci.o
CC hw/display/vga-isa.o
CC hw/display/vmware_vga.o
CC hw/display/blizzard.o
CC hw/display/exynos4210_fimd.o
CC hw/display/framebuffer.o
CC hw/display/tc6393xb.o
CC hw/dma/pl080.o
CC hw/dma/pl330.o
CC hw/dma/i8257.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/gpio/max7310.o
CC hw/gpio/pl061.o
CC hw/gpio/zaurus.o
CC hw/gpio/gpio_key.o
CC hw/i2c/core.o
CC hw/i2c/smbus.o
CC hw/i2c/smbus_eeprom.o
CC hw/i2c/i2c-ddc.o
CC hw/i2c/versatile_i2c.o
CC hw/i2c/smbus_ich9.o
CC hw/i2c/pm_smbus.o
CC hw/i2c/bitbang_i2c.o
CC hw/i2c/exynos4210_i2c.o
CC hw/i2c/imx_i2c.o
CC hw/i2c/aspeed_i2c.o
CC hw/ide/core.o
CC hw/ide/atapi.o
CC hw/ide/qdev.o
CC hw/ide/pci.o
CC hw/ide/isa.o
CC hw/ide/piix.o
CC hw/ide/microdrive.o
CC hw/ide/ahci.o
CC hw/ide/ich.o
CC hw/input/hid.o
CC hw/input/lm832x.o
CC hw/input/pckbd.o
CC hw/input/pl050.o
CC hw/input/ps2.o
CC hw/input/stellaris_input.o
CC hw/input/tsc2005.o
CC hw/input/vmmouse.o
CC hw/input/virtio-input.o
CC hw/input/virtio-input-hid.o
CC hw/intc/i8259_common.o
CC hw/intc/i8259.o
CC hw/intc/pl190.o
CC hw/intc/imx_avic.o
CC hw/intc/realview_gic.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.o
CC hw/ipack/ipack.o
CC hw/ipack/tpci200.o
CC hw/ipmi/ipmi.o
/tmp/qemu-test/src/hw/input/ps2.c: In function 'ps2_keyboard_event':
/tmp/qemu-test/src/hw/input/ps2.c:608:17: error: implicit declaration of function 'qemu_log_mask' [-Werror=implicit-function-declaration]
qemu_log_mask(LOG_UNIMP,
^
/tmp/qemu-test/src/hw/input/ps2.c:608:17: error: nested extern declaration of 'qemu_log_mask' [-Werror=nested-externs]
/tmp/qemu-test/src/hw/input/ps2.c:608:31: error: 'LOG_UNIMP' undeclared (first use in this function)
qemu_log_mask(LOG_UNIMP,
^/tmp/qemu-test/src/hw/input/ps2.c:608:31: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors/tmp/qemu-test/src/rules.mak:60: recipe for target 'hw/input/ps2.o' failed
make: *** [hw/input/ps2.o] Error 1
make: *** Waiting for unfinished jobs....
tests/docker/Makefile.include:107: recipe for target 'docker-run-test-mingw@fedora' failed
make: *** [docker-run-test-mingw@fedora] Error 1
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to [email protected]
Your series seems to have some coding style problems. See output below for more information:
Hi,
Your series seems to have some coding style problems. See output below for more information:
Type: series
Message-id: [email protected]
Subject: [Qemu-devel] [PATCH 0/5] ps2: fix keyboard set 3 and misc improvements
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True
commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do
echo "Checking PATCH $n/$total: $(git show --no-patch --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))done
exit $failed
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
f897257 ps2: do not generate invalid key codes for unknown keys 8a471af ps2: use QEMU qcodes instead of scancodes
af3f9d4 ps2: allow keycode translation for all scancode sets 0efd0b0 ps2: correctly handle 'get/set scancode' command dcc6e28 ps2: reject unknown commands, instead of blindly accepting them
=== OUTPUT BEGIN ===
Checking PATCH 1/5: ps2: reject unknown commands, instead of blindly accepting them... Checking PATCH 2/5: ps2: correctly handle 'get/set scancode' command... Checking PATCH 3/5: ps2: allow keycode translation for all scancode sets...
ERROR: line over 90 characters
#45: FILE: hw/input/ps2.c:140:
+ 0xff, 0x43, 0x41, 0x3f, 0x3d, 0x3b, 0x3c, 0x58, 0x64, 0x44, 0x42, 0x40, 0x3e, 0x0f, 0x29, 0x59,
ERROR: line over 90 characters
#46: FILE: hw/input/ps2.c:141:
+ 0x65, 0x38, 0x2a, 0x70, 0x1d, 0x10, 0x02, 0x5a, 0x66, 0x71, 0x2c, 0x1f, 0x1e, 0x11, 0x03, 0x5b,
ERROR: line over 90 characters
#47: FILE: hw/input/ps2.c:142:
+ 0x67, 0x2e, 0x2d, 0x20, 0x12, 0x05, 0x04, 0x5c, 0x68, 0x39, 0x2f, 0x21, 0x14, 0x13, 0x06, 0x5d,
ERROR: line over 90 characters
#48: FILE: hw/input/ps2.c:143:
+ 0x69, 0x31, 0x30, 0x23, 0x22, 0x15, 0x07, 0x5e, 0x6a, 0x72, 0x32, 0x24, 0x16, 0x08, 0x09, 0x5f,
ERROR: line over 90 characters
#49: FILE: hw/input/ps2.c:144:
+ 0x6b, 0x33, 0x25, 0x17, 0x18, 0x0b, 0x0a, 0x60, 0x6c, 0x34, 0x35, 0x26, 0x27, 0x19, 0x0c, 0x61,
ERROR: line over 90 characters
#50: FILE: hw/input/ps2.c:145:
+ 0x6d, 0x73, 0x28, 0x74, 0x1a, 0x0d, 0x62, 0x6e, 0x3a, 0x36, 0x1c, 0x1b, 0x75, 0x2b, 0x63, 0x76,
ERROR: line over 90 characters
#51: FILE: hw/input/ps2.c:146:
+ 0x55, 0x56, 0x77, 0x78, 0x79, 0x7a, 0x0e, 0x7b, 0x7c, 0x4f, 0x7d, 0x4b, 0x47, 0x7e, 0x7f, 0x6f,
ERROR: line over 90 characters
#52: FILE: hw/input/ps2.c:147:
+ 0x52, 0x53, 0x50, 0x4c, 0x4d, 0x48, 0x01, 0x45, 0x57, 0x4e, 0x51, 0x4a, 0x37, 0x49, 0x46, 0x54,
ERROR: line over 90 characters
#53: FILE: hw/input/ps2.c:148:
+ 0x80, 0x81, 0x82, 0x41, 0x54, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
ERROR: line over 90 characters
#54: FILE: hw/input/ps2.c:149:
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
ERROR: line over 90 characters
#55: FILE: hw/input/ps2.c:150:
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
ERROR: line over 90 characters
#56: FILE: hw/input/ps2.c:151:
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
ERROR: line over 90 characters
#57: FILE: hw/input/ps2.c:152:
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
ERROR: line over 90 characters
#58: FILE: hw/input/ps2.c:153:
+ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
ERROR: line over 90 characters
#59: FILE: hw/input/ps2.c:154:
+ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
ERROR: line over 90 characters
#60: FILE: hw/input/ps2.c:155:
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
total: 16 errors, 0 warnings, 165 lines checked
Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS.
Checking PATCH 4/5: ps2: use QEMU qcodes instead of scancodes...
ERROR: if this code is redundant consider removing it #163: FILE: hw/input/ps2.c:226:
+#if 0
ERROR: if this code is redundant consider removing it #311: FILE: hw/input/ps2.c:365:
+#if 0
total: 2 errors, 0 warnings, 554 lines checked
Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS.
Checking PATCH 5/5: ps2: do not generate invalid key codes for unknown keys... === OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to [email protected]
Hi,
Quoted 6 lines
- Patches 1 and 2 are fixes to let Linux use set 3 if instructed so.
- Patch 3 makes scancodes untranslated by default and translates them if required, instead of receiving translated scancodes by default and untranslating them if required.
- Patch 4 switches to use qcodes instead of scancodes.
- Patch 5 is a small cleanup, to prevent sending invalid keycodes to the OS.
Nice!
Quoted 1 line
Patch 3 doesn't pass checkpatch.pl, due to translation table using more than 80 columns.
Easily fixable by breaking those long lines into two.
Quoted 2 lines
Patch 4 doesn't pass checkpatch.pl, due to some key mappings not implemented because of missing an equivalent qcode.
Hmm, yes, I've found the checkpatch warning on "#if 0" annonying in simliar cases before. Documenting incomplete translation tables that way looks reasonable to me ...
Beside that we can consider adding these qcodes to qemu (which shouldn't block merging this series of course).
cheers,
Gerd