1. A computer system for direct storage device sharing in a virtualized environment, comprising: one or more processor units configured to operate as: a storage controller for assigning each of a plurality of virtual functions an associated memory area of a physical memory, and executing the virtual functions in a single root-input/output virtualization environment to provide each of a plurality of guests with direct access to the physical memory, including: at a first boot of one of the guests, the storage controller receiving a request from the one of the guests, and in response to the request, triggering an interrupt of a physical function to a hypervisor; and the storage controller receiving from the hypervisor a configuration command over the physical function, the configuration command setting up hardware in the storage controller to allocate storage in the storage device for said one of the guests and providing a mapping function for the one of the guests; and for a subsequent boot of the one of the guests, after said first boot, the storage controller receiving a subsequent request from the one of the guests, and the storage controller setting up mapping for the one of the guests using the mapping function provided at the first boot of the one of the guests, to provide said one of the guests with direct access to the physical memory; and wherein: for the subsequent boot of the one of the guests, the storage controller setting up mapping for the one of the guests includes the storage controller setting up the mapping with no invocation of the hypervisor.