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

ofs umd: add ofs umd framework #1909

Merged
merged 3 commits into from Mar 11, 2021
Merged

ofs umd: add ofs umd framework #1909

merged 3 commits into from Mar 11, 2021

Conversation

r-rojo
Copy link
Contributor

@r-rojo r-rojo commented Mar 10, 2021

ofs umd (user mode driver) is a framework to take driver specs in yml
format and turn it into C data structure, and function
prototypes/implementations.
This commit adds:

  • ofs_parse.py script that parses an ofs umd spec in .yml format and
    generates a header file for the given driver.
  • ofs_add_driver CMake macro that, given the .yml, driver name, and list
    of sources it will:
    • call ofs_parse.py to generate the .h
    • create a cmake library named after the driver name and use given
      source to compile.
  • sample unit tests in tests/ofs_driver that exercise:
    • The cmake macro
    • The functions generated by ofs_parse.py

TODO:
ofs_parse.py is mostly prototype-leve code and will need to be
refactored and cleaned up.

ofs umd (user mode driver) is a framework to take driver specs in yml
format and turn it into C data structure, and function
prototypes/implementations.
This commit adds:
* ofs_parse.py script that parses an ofs umd spec in .yml format and
  generates a header file for the given driver.
* ofs_add_driver CMake macro that, given the .yml, driver name, and list
  of sources it will:
  * call ofs_parse.py to generate the .h
  * create a cmake library named after the driver name and use given
    source to compile.
* sample unit tests in tests/ofs_driver that exercise:
  * The cmake macro
  * The functions generated by ofs_parse.py

TODO:
ofs_parse.py is mostly prototype-leve code and will need to be
refactored and cleaned up.
tswhison
tswhison previously approved these changes Mar 10, 2021
cmake/modules/OFS.cmake Show resolved Hide resolved
michelleyho
michelleyho previously approved these changes Mar 10, 2021
@r-rojo r-rojo dismissed stale reviews from michelleyho and tswhison via c475fc4 March 10, 2021 23:36
@r-rojo r-rojo merged commit 3b5ecbe into feature/ofs-umd Mar 11, 2021
@r-rojo r-rojo deleted the rrojo/ofs-umd branch March 11, 2021 00:42
r-rojo pushed a commit that referenced this pull request Mar 12, 2021
59ec00f libofs: add libofs and umd (user mode driver) framework
9561585 libofs: fix blank lines in files
b75690c libofs: finish migration to opae-libs repo
f552e4d ofs_parse: look for call nodes in ast
049e00a ofs-umd: fix ofs_resolve to check func.id
4006206 libofs: add macros to wait for bit fields
15bac6c ofs umd: add ofs umd framework (#1909)
e62592b ofs: initial implementation of libofs (#1899)

git-subtree-dir: opae-libs
git-subtree-split: 59ec00f
r-rojo pushed a commit that referenced this pull request Mar 12, 2021
a53e62e ofs-umd: fix ofs_add_driver cmake macro (#140)
59ec00f libofs: add libofs and umd (user mode driver) framework
9561585 libofs: fix blank lines in files
b75690c libofs: finish migration to opae-libs repo
f552e4d ofs_parse: look for call nodes in ast
049e00a ofs-umd: fix ofs_resolve to check func.id
4006206 libofs: add macros to wait for bit fields
15bac6c ofs umd: add ofs umd framework (#1909)
e62592b ofs: initial implementation of libofs (#1899)

git-subtree-dir: opae-libs
git-subtree-split: a53e62e
r-rojo added a commit that referenced this pull request Oct 11, 2021
* ofs umd: add ofs umd framework

ofs umd (user mode driver) is a framework to take driver specs in yml
format and turn it into C data structure, and function
prototypes/implementations.
This commit adds:
* ofs_parse.py script that parses an ofs umd spec in .yml format and
  generates a header file for the given driver.
* ofs_add_driver CMake macro that, given the .yml, driver name, and list
  of sources it will:
  * call ofs_parse.py to generate the .h
  * create a cmake library named after the driver name and use given
    source to compile.
* sample unit tests in tests/ofs_driver that exercise:
  * The cmake macro
  * The functions generated by ofs_parse.py

TODO:
ofs_parse.py is mostly prototype-leve code and will need to be
refactored and cleaned up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants