source: soft/giet_vm/giet_drivers/iob_driver.h @ 263

Last change on this file since 263 was 258, checked in by alain, 11 years ago

This is a major release, including a deep restructuration of code.
The main evolutions are

  • use of the Tsar preloader to load the GIET boot-loader from disk
  • introduction of a FAT32 file system library,
  • use of this fat32 library by the boot-loader to load the map.bin data structure, and the various .elf files
  • reorganisation of drivers (one file per peripheral).
  • introduction of drivers for new peripherals: vci_chbuf_dma and vci_multi_ahci.
  • introduction of a new physical memory allocator in the boot code.

This release has been tested on the tsar_generic_iob architecture,
for the two following mappings: 4c_1p_iob_four.xml and 4c_1p_iob_sort.xml

File size: 1.8 KB
RevLine 
[258]1///////////////////////////////////////////////////////////////////////////////////
2// File     : iob_driver.h
3// Date     : 01/11/2013
4// Author   : alain greiner
5// Copyright (c) UPMC-LIP6
6///////////////////////////////////////////////////////////////////////////////////
7
8#ifndef _GIET_IOB_DRIVER_H_
9#define _GIET_IOB_DRIVER_H_
10
11///////////////////////////////////////////////////////////////////////////////////
12// TSAR IOB (vci_io_bridge) registers offsets
13///////////////////////////////////////////////////////////////////////////////////
14
15enum IOB_registers
16{
17    IOB_IOMMU_PTPR       = 0, /* R/W : Page Table Pointer Register */
18    IOB_IOMMU_ACTIVE     = 1, /* R/W : IOMMU activated if not 0 */
19    IOB_IOMMU_BVAR       = 2, /* R   : Bad Virtual Address (unmapped) */
20    IOB_IOMMU_ETR        = 3, /* R   : Error Type */
21    IOB_IOMMU_BAD_ID     = 4, /* R   : Faulty Peripheral Index */
22    IOB_INVAL_PTE        = 5, /* W   : Invalidate a PTE (virtual address) */
23    IOB_IT_ADDR_IOMMU_LO = 6, /* W/R : 32 LSB bits for IOMMU IT*/
24    IOB_IT_ADDR_IOMMU_HI = 7, /* W/R : 32 MSB bits for IOMMU IT */
25    IOB_IT_ADDRESS_BEGIN = 8, /* R/W : Peripheral IT address (2 32 bits registers) */
26};
27
28///////////////////////////////////////////////////////////////////////////////////
29// TSAR IOB access functions
30///////////////////////////////////////////////////////////////////////////////////
31
32extern unsigned int _iob_inval_tlb_entry( unsigned int vaddr );
33
34extern unsigned int _iob_set_iommu_ptpr( unsigned int value );
35
36///////////////////////////////////////////////////////////////////////////////////
37
38#endif
39
40// Local Variables:
41// tab-width: 4
42// c-basic-offset: 4
43// c-file-offsets:((innamespace . 0)(inline-open . 0))
44// indent-tabs-mode: nil
45// End:
46// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
47
Note: See TracBrowser for help on using the repository browser.