#include "nul/motherboard.h"
#include "host/dma.h"
#include "model/sata.h"
#include "model/simplemem.h"
Classes | |
class | SataDrive |
SataDrive virtualisation. More... | |
Functions | |
PARAM (drive,{DiskParameter params;unsigned hostdisk=argv[0];MessageDisk msg0(hostdisk,¶ms);check0(!mb.bus_disk.send(msg0)||msg0.error!=MessageDisk::DISK_OK,"%s could not get disk %x parameters error %x", __PRETTY_FUNCTION__, hostdisk, msg0.error);SataDrive *drive=new SataDrive(mb.bus_disk,&mb.bus_memregion,&mb.bus_mem, hostdisk, params);mb.bus_diskcommit.add(drive, SataDrive::receive_static< MessageDiskCommit >);MessageAhciSetDrive msg(drive, argv[2]);if(!mb.bus_ahcicontroller.send(msg, argv[1])) Logging::panic("AHCI controller #%ld does not allow to set drive #%lx\n", argv[1], argv[2]);},"drive:sigma0drive,controller,port - put a drive to the given port of an ahci controller by using a drive from sigma0 as backend.","Example: 'drive:0,1,2' to put the first sigma0 drive on the third port of the second controller.") | |
Variables | |
SataDrive | __attribute__ |
SataDrive virtualisation. |
PARAM | ( | drive | ) |
SataDrive __attribute__ |
SataDrive virtualisation.
Copyright (C) 2008-2009, Bernhard Kauer <bk@vmmon.org> Economic rights: Technische Universitaet Dresden (Germany)
This file is part of Vancouver.
Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details. A SATA drive. It contains the register set of a SATA drive and speaks the SATA transport layer protocol with its FISes.
State: unstable Features: read,write,identify Missing: better error handling, many commands