Comments (6)
I don't think there is an option for that. It should get set at boot anyway. Also the xilinx pcie core disregards this value. You should be able to transmit even if it's unset.
If you mean bus master on upstream bridges you can't set that from your endpoint device.
from pcileech-fpga.
What i mean is that when checking my device with lspci
Mem- BusMaster-
But whenever i check the real device, it has Mem+ BUsMaster+
This is my question i can't find in the pcileech_pcie_cfg_a7.sv where should i flip the bit ?
from pcileech-fpga.
As I already mention, this flag is not important for the Xilinx device. You can send/receive TLPs anyway even if it's against spec.
This value is usually set by BIOS as power-on/device enumeration. There are exception for some class codes and devices etc, but if you cloned a device it's likely that it's a driver that have unset this value.
It's not a setting in the core file as such, you'd have to perform a config space write which is some what complicated. It's possible to do this from the C side of things using the LeechCore library, or you could add something similar to the optional master abort reset I have here:
If there is a need I guess I could look into adding automatic periodic re-enabling of this flag if it's been disabled.
from pcileech-fpga.
Thank you for pointing this out,
It would be a good thing to have an option to do the periodic re enabling.
Most of the questions you got about cheating is because Vanguard anticheat disable busMaster of some pcie devices
from pcileech-fpga.
I'm not doing cheats. I know my tools are used for that, but it's not why I created them. Even if I don't really have issues with my tools being used for it I prefer not to get involved and stay away from it. My stance on these matters should be fairly well known by now.
In your case though re-enabling bus-master on the PCILeech device won't really do any good. Vanguard disable it on the upstream PCIe bridge/switch for downstream devices. The PCILeech device can't just unset the busmaster flag on the upstream devices from its view downstream. And as mentioned already the Xilinx PCIe core completely disregards this bit. It's possible to send/receive DMA request regardless of what this bit is set to on the actual device.
Still it would probably be a good idea for me to allow some additional flexibility in this area. But I'm afraid it won't really do any good in your use case. I can see some minor infosec uses for it though so it's probably worthwhile for me to look into it.
from pcileech-fpga.
I've added the ability to auto-set command register flags. By default it's disabled. If enabled by default it will set IO+, Mem+, BM+ at 1ms intervals.
Enabled it by changing this into 1:
To set other values than the defaults do it here:
A firmware rebuild is required.
I'm closing this issue since the enhancement suggestion is now implemented. I'm afraid it won't resolve your root issue though and there is not much downstream devices could do if BM is disabled on upstream bridges/switches.
from pcileech-fpga.
Related Issues (20)
- Does the firmware support Kintex 7 Chips? HOT 1
- Q about TLP completion timeout HOT 1
- Xilinx PCIe parameters HOT 3
- Q on receiving data from FPGA HOT 3
- Question: Can I effectively use the Screamer PCIe Squirrel in a single PC setup. HOT 1
- 0x55556666 padding in the middle of receiving a TLP? HOT 4
- This device cannot be started. (Code 10) HOT 1
- pls help me HOT 2
- About solutions to some problems and some overlooked code. HOT 20
- Advice Request: Ported project to new board and 1Gbit Ethernet, how can I make it faster? HOT 5
- Is it possible to limit the number and frequency of TLPs that are actively sent on the software side?
- Keys HOT 1
- memory issue HOT 1
- Leetdma Abnormal speed measurement
- Leetdma Abnormal speed measurement HOT 2
- How to fix disconnect to the fpga board HOT 1
- ERROR: [Common 17-170] Error when generating project files HOT 6
- zdma ip core seems to be broken HOT 1
- MPVDMA HOT 1
- Why using 7 Series FPGAs Integrated Block for PCI Express ip core instead of others? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pcileech-fpga.