commit | c20cdcab7552c2fd5bbfc842398191dd710fa535 | [log] [tgz] |
---|---|---|
author | Rupert Swarbrick <rswarbrick@lowrisc.org> | Fri Apr 23 16:32:55 2021 +0100 |
committer | Rupert Swarbrick <rswarbrick@gmail.com> | Fri Apr 23 17:59:00 2021 +0100 |
tree | db8f652915c13c1f9e1452ea268f958d2c48f0ca | |
parent | 19caff3544845543cfc9634c322e1dc4fa9c1207 [diff] |
[otbn-as] Generate .line numbers to fix up DWARF information To try this out, run something like this from the hw/ip/otbn/util directory: ./otbn-as -g -o tmp.o ../dv/otbnsim/test/simple/pseudos/li.s ./otbn-objdump -dS tmp.o The result looks like this: 00000000 <.text>: expansion was correct is a little difficult, unless you can run the generated instructions... which is what we can do for ISS testing. So the checks seem to fit quite well here. */ li x2, 1230 0: 4ce00113 li sp,1230 li x3, -123 4: f8500193 li gp,-123 li x4, 2272 8: 00001237 lui tp,0x1 c: 8e020213 addi tp,tp,-1824 # 8e0 <.text+0x8e0> /* Big immediates that can be done with a single LUI */ li x5, 1048576 10: 001002b7 lui t0,0x100 li x6, -0x800000 14: ff800337 lui t1,0xff800 As a bonus, this commit also slightly improves how we print instructions that we've assembled or pseudo-instructions that we've expanded. This won't make any difference unless debugging otbn-as (with the --otbn-translate flag), but it should make li instructions a bit less confusing when that happens. Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.
The project contains comprehensive documentation of all IPs and tools. You can access it online at docs.opentitan.org.
Have a look at CONTRIBUTING for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).