-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[DM/PCI] Add /proc access in RT-Smart user #10196
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
base: master
Are you sure you want to change the base?
Conversation
1. Add ROM base info. 2. Save th PM status. Signed-off-by: GuEe-GUI <2991707448@qq.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces /proc filesystem support for PCI devices in RT-Smart, enabling runtime access to PCI configuration and ROM base information. Key changes include the addition of a new procfs interface in procfs.h/procfs.c, integration of procfs attach/detach calls in PCI probe and remove workflows, and updates to PCI device structures and ROM resource management.
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
components/drivers/pci/procfs.h | New header defining procfs related functions for PCI devices. |
components/drivers/pci/procfs.c | Implements read, write, and initialization for procfs access. |
components/drivers/pci/probe.c | Integrates procfs attach/detach in device scan and removal. |
components/drivers/pci/pme.c | Updates power management status upon configuration writes. |
components/drivers/pci/pci.c | Sets ROM base, size, and flags on PCI device resource probing. |
components/drivers/pci/SConscript | Conditional inclusion of procfs.c based on build dependency. |
components/drivers/include/drivers/pci.h | Augments the PCI device structure with power management and ROM fields. |
rt_pci_read_config_u8(pdev, pos, &val); | ||
copy_to_user(buf, &val, sizeof(val)); | ||
|
||
++buf; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incrementing a void pointer (buf) directly may cause portability issues with strict C standards. Consider casting buf to a char* before performing pointer arithmetic, for example: buf = (char*)buf + 1;
++buf; | |
buf = (char*)buf + 1; |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is piece of garbage C standard imposes.
copy_from_user(&val, buf, sizeof(val)); | ||
rt_pci_write_config_u8(pdev, pos, val); | ||
|
||
++buf; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incrementing a const void pointer (buf) directly for pointer arithmetic may lead to undefined behavior. Consider casting buf to a const char* before performing arithmetic, for example: buf = (const char*)buf + 1;
++buf; | |
buf = (const char*)buf + 1; |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
garbage, too.
拉取/合并请求描述:(PR description)
[
Build pciutils for testing:
The
ZLIB
can setyes
or ignore if build in userapp]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up