[FrontPage] [TitleIndex] [WordIndex

Rules-ng

Rules-ng is a hardware register description database format. This means it is primarily a specification document on how to describe registers in an XML document. The specification comes bundled with some tools and the same directory tree also hosts some actual register databases, most notably the one for Nouveau.

The source is in CVS: http://nouveau.cvs.sourceforge.net/nouveau/rules-ng/

The specification and tools are mainly developed by PekkaPaalanen, databases have many more contributors. If you need commit access to the CVS, contact StephaneMarchesin. In all other matters, contant PekkaPaalanen.

The Specification

The specification can be found in the CVS: rules-ng-format.txt

It is accompanied by an XML Schema: rules-ng.xsd which attempts to enforce most of the database specification.

Features

Included databases

and possibly others, in databases

Tools

The tools can be found the CVS directories parsers/ and staticdb/.

Staticdb

Staticdb is a chain of tools. staticdbgen.py is a Python script that takes a Rules-ng database XML file and converts it into static C-language structures. The structure files can be linked into a C library, which offers a lookup interface into the database. This is used in MmioTrace's mmio-parse to convert addresses and values into names and value descriptions.

Header generator

headergen.py is currently only a proof-of-concept Python script that transforms a Rules-ng database XML file into a C header file with #define's for everything. It is intended for helping in writing drivers.

HTML Documentation Generator

names2html.py is a Python script that generates a bunch of HTML files from Rules-ng databases.

To Do

Wishlist

Record here what is wrong about Rules-ng or what should be changed or developed.


2013-03-24 13:16