genode/ports/src/vancouver/network.h
Norman Feske 89d0e68983 vancouver: Improve locking scheme
This patch replaces the error-prone manual locking with the use of the
'Synced_interface' for the motherboard and the VCPU dispatcher. It also
removes all globally visible locks. Locks are now explicitly passed to
subsystems when needed.
2013-05-17 12:05:07 +02:00

52 lines
1.1 KiB
C++

/*
* \brief Network receive handler per MAC address
* \author Markus Partheymueller
* \date 2012-07-31
*/
/*
* Copyright (C) 2012 Intel Corporation
* Copyright (C) 2013 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*
* The code is partially based on the Vancouver VMM, which is distributed
* under the terms of the GNU General Public License version 2.
*
* Modifications by Intel Corporation are contributed under the terms and
* conditions of the GNU General Public License version 2.
*/
#ifndef _NETWORK_H_
#define _NETWORK_H_
/* Genode includes */
#include <nic_session/connection.h>
/* local includes */
#include <synced_motherboard.h>
using Genode::List;
using Genode::Thread;
class Vancouver_network : public Thread<4096>
{
private:
Synced_motherboard &_motherboard;
Nic::Session *_nic;
public:
/* initialisation */
void entry();
/**
* Constructor
*/
Vancouver_network(Synced_motherboard &, Nic::Session *);
};
#endif /* _NETWORK_H_ */