search for: vmw_port_hb_out

Displaying 7 results from an estimated 7 matches for "vmw_port_hb_out".

2015 Dec 01
11
[PATCH 1/6] x86: Add VMWare Host Communication Macros
..."d"(port_num), \ + "S"(si), \ + "D"(di) : \ + "memory"); \ +}) + + +#define VMW_PORT_HB_OUT(in1, in2, port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + __asm__ __volatile__ ("movq %13, %%rbp;" \ + "cld; rep outsb; " \ + "movq %%rbp, %6" :...
2015 Dec 01
11
[PATCH 1/6] x86: Add VMWare Host Communication Macros
..."d"(port_num), \ + "S"(si), \ + "D"(di) : \ + "memory"); \ +}) + + +#define VMW_PORT_HB_OUT(in1, in2, port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + __asm__ __volatile__ ("movq %13, %%rbp;" \ + "cld; rep outsb; " \ + "movq %%rbp, %6" :...
2015 Dec 01
0
[PATCH 1/6] x86: Add VMWare Host Communication Macros
...ot; \ > + "movq %%rbp, %6" : \ cld shouldn't be necessary here, DF=0 is part of the normal ABI environment. You also don't save/restore %rbp here, but you do below? Seems very odd. It might be better do so something like: +#define VMW_PORT_HB_OUT(in1, in2, port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + __asm__ __volatile__ ("xchgq %6, %%rbp;" \ + "cld; rep outsb; " \ + "xchgq %%rbp, %6" :...
2015 Dec 04
0
[PATCH 1/6] x86: Add VMWare Host Communication Macros
...EAX register + * @ebx: [OUT] e.g. status from an HB message status command + * @ecx: [OUT] e.g. status from a non-HB message status command + * @edx: [OUT] e.g. channel id + * @si: [INOUT] set to 0 if not used + * @di: [INOUT] set to 0 if not used + * @bp: [INOUT] set to 0 if not used + */ +#define VMW_PORT_HB_OUT(cmd, in1, port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + asm volatile ("push %%rbp;" \ + "xchgq %6, %%rbp;" \ + "rep outsb;" \ + "xchgq %%rbp, %6;" \ + "pop %%rbp;" : \ + "=a"(eax), \ + "=b...
2015 Dec 04
0
[PATCH 1/6] x86: Add VMWare Host Communication Macros
...EAX register + * @ebx: [OUT] e.g. status from an HB message status command + * @ecx: [OUT] e.g. status from a non-HB message status command + * @edx: [OUT] e.g. channel id + * @si: [INOUT] set to 0 if not used + * @di: [INOUT] set to 0 if not used + * @bp: [INOUT] set to 0 if not used + */ +#define VMW_PORT_HB_OUT(cmd, in1, port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + asm volatile ("push %%rbp;" \ + "xchgq %6, %%rbp;" \ + "rep outsb;" \ + "xchgq %%rbp, %6;" \ + "pop %%rbp;" : \ + "=a"(eax), \ + "=b...
2016 Jan 19
0
[PATCH 1/6] x86: Add VMWare Host Communication Macros
...visor magic value + * @eax: [OUT] value of EAX register + * @ebx: [OUT] e.g. status from an HB message status command + * @ecx: [OUT] e.g. status from a non-HB message status command + * @edx: [OUT] e.g. channel id + * @si: [OUT] + * @di: [OUT] + * @bp: [INOUT] set to 0 if not used + */ +#define VMW_PORT_HB_OUT(cmd, in_ecx, in_si, in_di, \ + port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + asm volatile ("push %%rbp;" \ + "xchgq %6, %%rbp;" \ + "rep outsb;" \ + "xchgq %%rbp, %6;" \ + "pop %%rbp;" : \ + "=a&quot...
2016 Jan 19
0
[PATCH 1/6] x86: Add VMWare Host Communication Macros
...visor magic value + * @eax: [OUT] value of EAX register + * @ebx: [OUT] e.g. status from an HB message status command + * @ecx: [OUT] e.g. status from a non-HB message status command + * @edx: [OUT] e.g. channel id + * @si: [OUT] + * @di: [OUT] + * @bp: [INOUT] set to 0 if not used + */ +#define VMW_PORT_HB_OUT(cmd, in_ecx, in_si, in_di, \ + port_num, magic, \ + eax, ebx, ecx, edx, si, di, bp) \ +({ \ + asm volatile ("push %%rbp;" \ + "xchgq %6, %%rbp;" \ + "rep outsb;" \ + "xchgq %%rbp, %6;" \ + "pop %%rbp;" : \ + "=a&quot...