Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Earlgrey emulation based on qemu 8.0.2 #4

Merged
merged 129 commits into from
Jul 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
73299b0
FROMGIT: target/riscv: Update pmp_get_tlb_size()
May 17, 2023
ce52526
[ot] docs/devel: fix resettable API documentation function name
rivos-eblot Jun 7, 2023
b8e227b
[ot] net: fix warning on MacOS platforms
rivos-eblot Apr 25, 2023
f2b40bc
[ot] ui: fix warning on MacOS platforms
rivos-eblot Apr 25, 2023
9c2901a
[ot] meson.build: fix objc handling
rivos-eblot Jun 5, 2023
7919489
[ot] target/riscv: fix dscratch debug CSRs definitions
rivos-eblot Feb 1, 2023
d7758e9
[ot] disas: fix decode of dscratch CSRs
rivos-eblot Apr 27, 2023
b4a56ff
[ot] disas: decode tinfo trigger CSR
rivos-eblot Feb 1, 2023
2566290
[ot] disas: fix invalid RISC-V pmpcfg CSR definitions
rivos-eblot Feb 17, 2023
789133e
[ot] target/riscv: non-standard interrupts are valid without H extens…
rivos-eblot Apr 28, 2023
43405fb
[ot] target/riscv: do not handle semi hosting as a first-class citizen
rivos-eblot Jan 27, 2023
eb5af22
[ot] target/riscv: make mtvec a platform definition
rivos-eblot Feb 2, 2023
53d3b0f
[ot] target/riscv: get_ticks should not use time conversion
rivos-eblot May 22, 2023
dbab5c4
[ot] exec: poison RISC-V target-specific definitions
rivos-eblot Jan 30, 2023
373ee46
[ot] hw/intc: sifive_plic: fix handling of pending interrupts
loiclefort Feb 20, 2023
f4abf86
[ot] target/riscv: remove useless check in pmp_is_locked
loiclefort Apr 26, 2023
57209c6
[ot] target/riscv: move ePMP operation conversion into a function
loiclefort Apr 26, 2023
9a70d68
[ot] target/riscv: fix ePMP access control to pmpaddr/pmpcfg
loiclefort Apr 26, 2023
2eb8847
[ot] target/riscv: add basic support for MSECCFGH CSR
rivos-eblot Feb 14, 2023
a050fce
[ot] target/riscv: add support for impl-defined initial PMP config
rivos-eblot Feb 15, 2023
79a937a
[ot] target/riscv: add experimental Zbr extension
rivos-eblot Apr 27, 2023
c27a36c
[ot] disas: add Zbr instruction disassembling
rivos-eblot Apr 25, 2023
bf3d4fb
[ot] target/riscv: rename ibex hart as lowrisc-ibex
rivos-eblot Apr 27, 2023
d035ce7
[ot] target/riscv: update lowrisc-ibex core initialization
rivos-eblot Apr 27, 2023
343b018
[ot] hw/riscv: update legacy OpenTitan machine for generic Ibex core
rivos-eblot Apr 27, 2023
7a57aa7
[ot] hw/char: fix Ibex UART device definition
rivos-eblot Jan 30, 2023
79adb5b
[ot] hw/timer: fix Ibex Timer device definition
rivos-eblot Jan 30, 2023
c0edc63
[ot] hw/ssi: fix Ibex SPI Host device definition
rivos-eblot Mar 9, 2023
0d09c5f
[ot] configs: do not build legacy Opentitan machine to avoid confusion
rivos-eblot May 30, 2023
8e89e55
[ot] meson: update to 0.63 (Rust support)
rivos-eblot Nov 2, 2022
965f8ca
[ot] monitor: add general RISC-V registers
sifive-eblot Jul 19, 2022
30d7eec
[ot] subprojects: add libtomcrypt
rivos-eblot Nov 3, 2022
9670ce4
[ot] add clang-format config
loiclefort Nov 15, 2022
7ac5c3f
[ot] hw/ssi: let SSI bus be a public type definition
rivos-eblot Jan 30, 2023
5eed4d5
[ot] hw/intc: IRQ numbers should be sanity-checked
rivos-eblot May 23, 2023
96b67d3
[ot] hw/riscv: add helper for Ibex platforms
rivos-eblot Jun 5, 2023
28409c0
[ot] hw/riscv: add helper function to retrieve current PC
rivos-eblot Jan 31, 2023
ec421a6
[ot] hw/riscv: add helper function to log the guest CPU registers
rivos-eblot Apr 4, 2023
e0738eb
[ot] hw/loader: add a new function to only load symbols from ELF
rivos-eblot Feb 13, 2023
758c931
[ot] hw/riscv: add an IRQ wrapper
rivos-eblot Jan 31, 2023
3647188
[ot] hw/riscv: add a monitor helper function to track CPU PC
rivos-eblot Mar 31, 2023
490fd8c
[ot] hw/core: import rust_demangler feature from GNU libiberty
rivos-eblot Mar 31, 2023
8b23d68
[ot] hw/riscv: demangle RUST ELF symbols
rivos-eblot Apr 5, 2023
21551e3
[ot] target/riscv: implement custom LowRisc Ibex CSRs
rivos-eblot Feb 7, 2023
ecc603a
[ot] target/riscv: add custom mtvec CSR management
rivos-eblot Mar 29, 2023
4c7c0f2
[ot] hw/riscv: add basic LowRISC IbexDemo machine
rivos-eblot Feb 2, 2023
bf9273c
[ot] hw/riscv: ibexdemo: add PWM dummy device
rivos-eblot Jan 30, 2023
44fe60c
[ot] hw/ibexdemo: ibexdemo_uart: add IbexDemo UART implementation
rivos-eblot Jan 30, 2023
c23319b
[ot] util: fifo8: add some functions
loiclefort Nov 23, 2022
8f61d77
[ot] hw/riscv: ibexdemo: add UART device
rivos-eblot Jan 30, 2023
728fd9a
[ot] hw/ibexdemo: ibexdemo_timer: add IbexDemo Timer implementation
rivos-eblot Jan 30, 2023
6159492
[ot] hw/riscv: ibexdemo: add Timer device
rivos-eblot Jan 30, 2023
419f62e
[ot] hw/ibexdemo: ibexdemo_spi: add IbexDemo SPI host implementation
rivos-eblot Jan 30, 2023
3fc5320
[ot] hw/riscv: ibexdemo: add SPI host device
rivos-eblot Jan 30, 2023
90a9a6e
[ot] hw/ibexdemo: ibexdemo_gpio: add IbexDemo GPIO implementation
rivos-eblot Jan 30, 2023
796538a
[ot] hw/riscv: ibexdemo: add GPIO device
rivos-eblot Jan 30, 2023
237ed93
[ot] hw/ibexdemo: ibexdemo_simctrl: add IbexDemo Sim controller imple…
rivos-eblot Jan 30, 2023
554a06a
[ot] hw/riscv: ibexdemo: add Sim controller device
rivos-eblot Jan 30, 2023
241920c
[ot] hw/display: st7735: add ST7735 display controller implementation
rivos-eblot Jan 30, 2023
ee9209f
[ot] hw/riscv: ibexdemo: add ST7735 device
rivos-eblot Jun 5, 2023
ef7883d
[ot] hw/riscv: add basic OpenTitan EarlGrey machine
loiclefort Jan 20, 2023
95e6541
[ot] hw/opentitan: document which OpenTitan version is emulated
rivos-eblot May 12, 2023
90006a0
[ot] scripts/opentitan: add a script to check reg defs discrepancies
rivos-eblot May 4, 2023
e2960e9
[ot] scripts/opentitan: new simple script to cross-check dev registers
rivos-eblot Feb 16, 2023
f3766fc
[ot] hw/riscv: ot_earlgrey: add HW PMP configuration
rivos-eblot Feb 15, 2023
7dcb2c8
[ot] hw/riscv: ot_earlgrey: add property no_epmp_cfg
loiclefort Mar 7, 2023
1da0d43
[ot] hw/opentitan: add OpenTitan shadow register helpers
loiclefort Feb 17, 2023
a212895
[ot] hw/opentitan: ot_common: add multibit boolean values
loiclefort Feb 24, 2023
b6afe2a
[ot] hw/opentitan: add a 32-bit FIFO implementation
rivos-eblot Feb 27, 2023
7cbdc20
[ot] hw/opentitan: add Opentitan Alert handler device
rivos-eblot Feb 16, 2023
fa900d3
[ot] hw/riscv: ot_earlgrey: add Alert handler device
rivos-eblot Feb 16, 2023
49e2791
[ot] hw/opentitan: add OpenTitan OTP implementation
rivos-eblot Feb 7, 2023
ddf380f
[ot] scripts/opentitan: add a new script to manage OTP content
rivos-eblot Feb 6, 2023
4d2afc0
[ot] hw/riscv: ot_earlgrey: add OTP controller device
rivos-eblot Feb 7, 2023
c1b738a
[ot] hw/opentitan: ot_ast: add OpenTitan Analog Sensor Top
rivos-eblot Feb 8, 2023
1c5b181
[ot] hw/riscv: ot_earlgrey: add Analog Top Sensor device
rivos-eblot Feb 8, 2023
e19c829
[ot] hw/opentitan: ot_entropy: add OpenTitan Entropy Source device
rivos-eblot Feb 23, 2023
9f0a6d3
[ot] hw/riscv: ot_earlgrey: add OpenTitan Entropy Source device
rivos-eblot Feb 23, 2023
f0722ec
[ot] hw/opentitan: ot_csrng: add OpenTitan Crypto Secure RNG
rivos-eblot Feb 23, 2023
cd05f62
[ot] hw/riscv: ot_earlgrey: add OpenTitan Crypto Secure RNG
rivos-eblot Feb 23, 2023
aee8cbc
[ot] hw/opentitan: ot_edn: add Entropy Distribution Network device
rivos-eblot Feb 23, 2023
90ef459
[ot] hw/riscv: ot_earlgrey: add Entropy Distribution Network device
rivos-eblot Feb 23, 2023
2c209ae
[ot] hw/opentitan: ot_alert: add EDN properties
rivos-eblot Feb 16, 2023
3f28ec5
[ot] hw/riscv: ot_earlgrey: connect Alert Handler to EDN
rivos-eblot Mar 17, 2023
8520294
[ot] hw/opentitan: ot_otp: add EDN properties
rivos-eblot Feb 16, 2023
9968996
[ot] hw/riscv: ot_earlgrey: connect OTP to EDN
rivos-eblot Mar 17, 2023
5da60ef
[ot] hw/opentitan: ot_lifecycle: add OpenTitan Life Cycle controller
rivos-eblot Feb 7, 2023
fc1db17
[ot] hw/riscv: ot_earlgrey: add Lifecycle device
rivos-eblot Feb 7, 2023
7f4728f
[ot] hw/opentitan: ot_pwrmgr: add OpenTitan Power Manager
rivos-eblot Feb 8, 2023
c85a9b5
[ot] hw/riscv: ot_earlgrey: add Power Manager device
rivos-eblot Feb 8, 2023
71e5ab4
[ot] hw/opentitan: ot_sensor: add OpenTitan Sensor controller
rivos-eblot Feb 8, 2023
c5b4edf
[ot] hw/riscv: ot_earlgrey: add Sensor controller device
rivos-eblot Feb 8, 2023
d82953c
[ot] hw/opentitan: ot_pinmux: add OpenTitan PinMux
rivos-eblot Feb 13, 2023
6f766b3
[ot] hw/riscv: ot_earlgrey: add pinmux device
rivos-eblot Feb 13, 2023
7d84f53
[ot] hw/opentitan: ot_flash: add OpenTitan Flash controller
rivos-eblot Mar 9, 2023
8b09a1c
[ot] scripts/opentitan: create a script to generate int. flash content
rivos-eblot Feb 10, 2023
f8777f0
[ot] hw/opentitan: ot_earlgrey: add Flash controller device
rivos-eblot May 30, 2023
5070d2f
[ot] hw/opentitan: ot_ibex_wrapper: implement basic device
rivos-eblot Oct 26, 2022
b836cb5
[ot] hw/riscv: ot_earlgrey: add Ibex Wrapper device
rivos-eblot Jan 27, 2023
a9e060d
[ot] hw/opentitan: ot_ibex_wrapper: trigger VM abort on special SW FA…
rivos-eblot Nov 21, 2022
4a93a73
[ot] hw/opentitan: ot_ibex_wrapper: add address translation support
rivos-eblot Feb 14, 2023
6676c83
[ot] hw/opentitan: ot_prng: add pseudo random number generator wrapper
rivos-eblot Mar 9, 2023
a190d76
[ot] hw/opentitan: add OpenTitan Clock Manager device
rivos-eblot May 30, 2023
fc2ad6a
[ot] hw/riscv: ot_earlgrey: add Clock Manager
rivos-eblot May 30, 2023
c5ebf1e
[ot] hw/opentitan: ot_aes: add OpenTitan AES emulator
rivos-eblot Nov 8, 2022
45f9713
[ot] hw/riscv: ot_earlgrey: add AES device
rivos-eblot Jan 27, 2023
75320cb
[ot] hw/opentitan: ot_uart: add OpenTitan UART implementation
loiclefort Nov 22, 2022
69796cf
[ot] hw/riscv: ot_earlgrey: add UART devices
loiclefort Jan 27, 2023
a0c8994
[ot] subprojects: add Rust dependencies for OTBN emulator
rivos-eblot Nov 9, 2022
19f66f5
[ot] hw/opentitan: ot_otbn: add OpenTitan OTBN emulator
rivos-eblot Nov 9, 2022
46654e2
[ot] hw/riscv: ot_earlgrey: add OTBN device
rivos-eblot Jan 27, 2023
571c837
[ot] hw/opentitan: ot_hmac: add OpenTitan HMAC emulator
loiclefort Oct 11, 2022
97a3937
[ot] hw/riscv: ot_earlgrey: add HMAC device
loiclefort Jan 27, 2023
df7b6a0
[ot] hw/opentitan: ot_spi_host: add OpenTitan SPI host implementation
rivos-eblot Nov 14, 2022
1bdf939
[ot] hw/block: m25p80: add SFDP data block for data flash ISSI IS25WP128
rivos-eblot Mar 17, 2023
8dbb157
[ot] hw/block: m25p80: fix dummy cycles for FASTREAD
rivos-eblot Nov 25, 2022
b1cc629
[ot] hw/block: m25p80: write enable should be reset after each erase …
rivos-eblot May 16, 2023
51b41a1
[ot] hw/riscv: ot_earlgrey: add SPI_HOST device
rivos-eblot Jan 27, 2023
486cc83
[ot] hw/opentitan: ot_timer: add OpenTitan Timer emulator
loiclefort Jan 26, 2023
52cfd5f
[ot] hw/riscv: ot_earlgrey: add Timer device
loiclefort Jan 27, 2023
fe41509
[ot] hw/opentitan: ot_aon_timer: add OpenTitan AON Timer implementation
loiclefort Feb 3, 2023
8f66f81
[ot] hw/riscv: ot_earlgrey: add AON Timer device
loiclefort Feb 16, 2023
1948fb2
[ot] scripts/opentitan: add a script to boot ROM/ROM_EXT/BL0
rivos-eblot May 15, 2023
3e35060
[ot] scripts/opentitan: add new script to run test app w/ test ROM.
rivos-eblot May 23, 2023
3bcca3a
[ot] scripts/opentitan: add a script to run OpenTitan unit tests
rivos-eblot May 16, 2023
feb7af4
[ot] doc/opentitan: document Earlgrey platform
rivos-eblot Jun 2, 2023
d346c07
[ot] update README file to reflect QEMU fork content.
rivos-eblot Jun 2, 2023
6c38523
[ot] hw/opentitan: ot_sram_ctrl: add SRAM controller
rivos-eblot Jun 8, 2023
f03e907
[ot] hw/riscv: ot_earlgrey: add SRAM controllers
rivos-eblot Jun 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
248 changes: 248 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
---
# compatible with clang-format-16
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AlignTrailingComments:
Kind: Never
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyNamespace: true
SplitEmptyRecord: false
BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeConceptDeclarations: Always
BreakBeforeInheritanceComma: false
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: BeforeColon
BreakConstructorInitializersBeforeComma: false
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DeriveLineEnding: false
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- QLIST_FOREACH
- QLIST_FOREACH_RCU
- QLIST_FOREACH_ENTRY
- QLIST_FOREACH_SAFE
- QLIST_FOREACH_SAFE_RCU
- QSIMPLEQ_FOREACH
- QSIMPLEQ_FOREACH_RCU
- QSIMPLEQ_FOREACH_SAFE
- QSIMPLEQ_FOREACH_SAFE_RCU
- QTAILQ_FOREACH
- QTAILQ_FOREACH_RCU
- QTAILQ_FOREACH_SAFE
- QTAILQ_FOREACH_REVERSE
- QTAILQ_FOREACH_REVERSE_SAFE
- QTAILQ_RAW_FOREACH
- QLIST_RAW_FOREACH
- BOOST_FOREACH
- CPU_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Merge
IncludeCategories:
- Regex: '^"qemu/osdep.h"'
Priority: 0
SortPriority: 0
CaseSensitive: false
- Regex: '^<'
Priority: 1
SortPriority: 0
CaseSensitive: false
- Regex: '^"qemu/.*.h"'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^"qapi/.*.h"'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '^"qom/.*.h"'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 4
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: ''
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: true
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: Signature
LineEnding: LF
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 0
PenaltyBreakBeforeFirstCallParameter: 500
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 1
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: false
RemoveBracesLLVM: false
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: CaseInsensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDeclarationName: false
AfterFunctionDefinitionName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpaceBeforeSquareBrackets: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Latest
StatementAttributeLikeMacros:
StatementMacros:
TabWidth: 4
UseTab: Never
WhitespaceSensitiveMacros:
...

7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
.sdk
.stgit-*
.git-submodule-status
.clang-format
.gdb_history
cscope.*
tags
Expand All @@ -20,3 +19,9 @@ GTAGS
*.swp
*.patch
*.gcov
subprojects/*-*/
subprojects/libtomcrypt/
subprojects/packagecache/
!subprojects/packagefiles/**/*.patch
hw/opentitan/otbn/otbn/Cargo.lock
hw/opentitan/otbn/otbn/target/
26 changes: 24 additions & 2 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1499,9 +1499,13 @@ M: Alistair Francis <Alistair.Francis@wdc.com>
L: qemu-riscv@nongnu.org
S: Supported
F: hw/riscv/opentitan.c
F: hw/*/ibex_*.c
F: hw/ssi/ibex_spi_host.c
F: hw/timer/ibex_timer.c
F: hw/char/ibex_uart.c
F: include/hw/riscv/opentitan.h
F: include/hw/*/ibex_*.h
F: include/hw/ssi/ibex_spi_host.h
F: include/hw/timer/ibex_timer.h
F: include/hw/char/ibex_uart.h

Microchip PolarFire SoC Icicle Kit
M: Bin Meng <bin.meng@windriver.com>
Expand Down Expand Up @@ -3797,6 +3801,24 @@ S: Maintained
F: ebpf/*
F: tools/ebpf/*

Ibex
M: Emmanuel Blot <eblot@rivosinc.com>
M: Loïc Lefort <loic@rivosinc.com>
S: Supported
F: hw/riscv/ibex_common.c
F: include/hw/riscv/ibex_common.h
F: include/hw/riscv/ibex_irq.h
F: hw/ibexdemo/*
F: include/hw/ibexdemo/*

OpenTitan
M: Emmanuel Blot <eblot@rivosinc.com>
M: Loïc Lefort <loic@rivosinc.com>
S: Supported
F: hw/opentitan/*
F: include/hw/opentitan/*
F: scripts/opentitan/*

Build and test automation
-------------------------
Build and test automation, general continuous integration
Expand Down
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# QEMU OpenTitan README

QEMU is a generic and open source machine & userspace emulator and
virtualizer.

QEMU is capable of emulating a complete machine in software without any
need for hardware virtualization support. By using dynamic translation,
it achieves very good performance.

This repository is a fork of QEMU dedicated to support Ibex and OpenTitan
platforms.

See [installation instructions](docs/opentitan/index.md)

See also original [QEMU README file](README_QEMU.rst)
File renamed without changes.
3 changes: 2 additions & 1 deletion configs/devices/riscv32-softmmu/default.mak
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ CONFIG_SPIKE=y
CONFIG_SIFIVE_E=y
CONFIG_SIFIVE_U=y
CONFIG_RISCV_VIRT=y
CONFIG_OPENTITAN=y
CONFIG_IBEXDEMO=y
CONFIG_OT_EARLGREY=y
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -1097,7 +1097,7 @@ has_meson() {
}

if test -z "$meson"; then
if test "$explicit_python" = no && has_meson && version_ge "$(meson --version)" 0.61.5; then
if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.63.0; then
meson=meson
elif test "$git_submodules_action" != 'ignore' ; then
meson=git
Expand Down
Loading