romcc is a C compiler which generates code which uses only processor registers to store variables, instead of RAM. It was designed to aid with RAM initialization inside the open-source BIOS replacement project coreboot. Before the RAM has been initialized there is no RAM available for use and therefore romcc code uses only the CPU registers.

PropertyValue
dbpedia-owl:abstract
  • romcc is a C compiler which generates code which uses only processor registers to store variables, instead of RAM. It was designed to aid with RAM initialization inside the open-source BIOS replacement project coreboot. Before the RAM has been initialized there is no RAM available for use and therefore romcc code uses only the CPU registers. A standard compiler like GCC would not be suitable for writing code like this as it requires a stack, which, in the x86 and most other architectures, would have to be contained in RAM. All functions compiled by romcc will be inlined, which leads to all code being roughly 3x larger than hand-coded assembly. It is now obsolete for coreboot because the coreboot project uses "cache as ram" enabling an ordinary C compiler to be used. , but it is still used in the SerialICE project, related to coreboot.
dbpedia-owl:genre
dbpedia-owl:latestReleaseDate
  • 2007-10-23 (xsd:date)
dbpedia-owl:latestReleaseVersion
  • 0.70
dbpedia-owl:license
dbpedia-owl:operatingSystem
dbpedia-owl:programmingLanguage
dbpedia-owl:wikiPageExternalLink
dbpprop:author
  • Eric W. Biederman
dbpprop:genre
dbpprop:latestReleaseDate
  • 2007-10-23 (xsd:date)
dbpprop:latestReleaseVersion
  • 1 (xsd:integer)
dbpprop:license
dbpprop:name
  • romcc
dbpprop:operatingSystem
dbpprop:programmingLanguage
dbpprop:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • romcc is a C compiler which generates code which uses only processor registers to store variables, instead of RAM. It was designed to aid with RAM initialization inside the open-source BIOS replacement project coreboot. Before the RAM has been initialized there is no RAM available for use and therefore romcc code uses only the CPU registers.
rdfs:label
  • Romcc
owl:sameAs
foaf:name
  • romcc
foaf:page
is owl:sameAs of
is foaf:primaryTopic of