The Pedigree Project 0.1
Public Member Functions | Private Attributes | List of all members
Cache::DirectWritebackLease Class Reference

#include <Cache.h>

+ Collaboration diagram for Cache::DirectWritebackLease:

Public Member Functions

 DirectWritebackLease (const DirectWritebackLease &)=delete
 
DirectWritebackLease & operator= (const DirectWritebackLease &)=delete
 
bool acquire (Cache &cache, uintptr_t key, uintptr_t location)
 
void release ()
 
physical_uintptr_t physical () const
 

Private Attributes

Cache * m_Cache
 
CachePage * m_Page
 
physical_uintptr_t m_Physical
 

Detailed Description

Holds a published cache page stable for device reads while no writable loan exists. Writers arriving during the lease wait for DMA completion. The callback's writeback pin must outlive this lease.

Definition at line 516 of file Cache.h.

Constructor & Destructor Documentation

◆ DirectWritebackLease()

Cache::DirectWritebackLease::DirectWritebackLease ( )
inline

Definition at line 518 of file Cache.h.

◆ ~DirectWritebackLease()

Cache::DirectWritebackLease::~DirectWritebackLease ( )
inline

Definition at line 519 of file Cache.h.

Member Function Documentation

◆ acquire()

bool Cache::DirectWritebackLease::acquire ( Cache &  cache,
uintptr_t  key,
uintptr_t  location 
)

Definition at line 1782 of file Cache.cc.

◆ physical()

physical_uintptr_t Cache::DirectWritebackLease::physical ( ) const
inline

Definition at line 527 of file Cache.h.

◆ release()

void Cache::DirectWritebackLease::release ( )

Definition at line 1817 of file Cache.cc.

Member Data Documentation

◆ m_Cache

Cache* Cache::DirectWritebackLease::m_Cache
private

Definition at line 532 of file Cache.h.

◆ m_Page

CachePage* Cache::DirectWritebackLease::m_Page
private

Definition at line 533 of file Cache.h.

◆ m_Physical

physical_uintptr_t Cache::DirectWritebackLease::m_Physical
private

Definition at line 534 of file Cache.h.


The documentation for this class was generated from the following files: