• Shrikrishna Khare's avatar
    vmxnet3: introduce generalized command interface to configure the device · f35c7480
    Shrikrishna Khare authored
    Shared memory is used to exchange information between the vmxnet3 driver
    and the emulation. In order to request emulation to perform a task, the
    driver first populates specific fields in this shared memory and then
    issues corresponding command by writing to the command register(CMD). The
    layout of the shared memory was defined by vmxnet3 version 1 and cannot
    be extended for every new command without breaking backward compatibility.
    
    To address this problem, in vmxnet3 version 3, the emulation repurposed
    a reserved field in the shared memory to represent command information
    instead. For new commands, the driver first populates the command
    information field in the shared memory and then issues the command. The
    emulation interprets the data written to the command information depending
    on the type of the command. This patch exposes this capability to the driver.
    Signed-off-by: default avatarGuolin Yang <gyang@vmware.com>
    Signed-off-by: default avatarShrikrishna Khare <skhare@vmware.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f35c7480
vmxnet3_defs.h 19.2 KB