Skip to content
This repository

Introductorycourse 

miniwolf edited this page · 26 revisions

Introductory Course

This wiki page is meant to help beginners to start working on nvidia cards and pscnv.

Please understand that the one who knows if this page is actually useful is you! So, please let us know on IRC if you need some additional information to get started.

REMINDER: When you've learned something, please write the documentation right away on the wiki/envytool.

Vocabulary

  • BAR: It is a area of memory or IO ports exposed by a PCI card.
  • MMIO: Memory-mapped Input Output. See BAR.
  • Channel: Channels receive commands from the users and executes them.
  • Virtual Memory: Provides an personal address space for every channel.
  • Nvidia Codenames: Tells you about nvidia's way to name chipsets

 Engines

NVidia cards are split in several engines that are doing dedicated things.

Here is the list of the different engines of the nvidia cards:

Tools

Most of the tools a pscnv/nouveau dev need are either stored in the envytool repo(git://github.com/pathscale/envytools.git) or the pgtest repo(git://0x04.net/pgtest).

pgtest (mostly dealing with registers)

  • peek -- Read the value of a register
  • poke -- Write a value to a register
  • TODO

envytool (mostly disassemblers)

  • demmio -- reads a raw mmio trace and turns into something way more readable
  • nvbios -- Parses a vbios and show useful information out of it. Meant for vbios developers.
  • TODO

Other

 Power Management

See the dedicated Power Management Page.

Something went wrong with that request. Please try again.