Classes | Functions | Variables

vancouver/model/satadrive.cc File Reference

#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,&params);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.

Function Documentation

PARAM ( drive   ) 

Variable Documentation

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines