GUI

Results 8 comments of GUI

建议增加以下接口: 使用频率较高的接口 ```c rt_atomic_t rt_atomic_read(rt_atomic_t *ptr); void rt_atomic_inc(rt_atomic_t *ptr); void rt_atomic_dec(rt_atomic_t *ptr); ``` 可能调用方想要知道独占的情况: ```c rt_atomic_t rt_atomic_add_return(rt_atomic_t *ptr, rt_atomic_t val); rt_atomic_t rt_atomic_sub_return(rt_atomic_t *ptr, rt_atomic_t val); rt_atomic_t rt_atomic_inc_return(rt_atomic_t *ptr); rt_atomic_t rt_atomic_dec_return(rt_atomic_t...

> > 建议增加以下接口: > > 使用频率较高的接口 > > ```c > > rt_atomic_t rt_atomic_read(rt_atomic_t *ptr); > > void rt_atomic_inc(rt_atomic_t *ptr); > > void rt_atomic_dec(rt_atomic_t *ptr); > > ``` > > >...

> 为什么会需要两条指令呢?地址不对齐? 1.将目的地址加载入寄存器。 2.从内存或缓存上加载目的地址的数据到寄存器。

> > 寄存器 > > 可是第一步“将目的地址加载入寄存器”,寄存器属于私有化的数据吧,不存在原子操作的说法吧。也不会有人再操作这个寄存器。 就算这两个指令中间被打断,也不会对结果有影响啊。 主要是屏障方面的问题,请参考:https://www.kernel.org/doc/html/v4.12/core-api/atomic_ops.html

> 是的,不过编译器会把结果为`if (0)`或者`if (1) else`的分支优化掉。

> RK3568/88的PCIe网卡可以驱动吗? 网卡部分涉及到 PHY 框架改进还没完成,在当前 PCI 框架下,对 ROCK 3A RK3568 上尝试 NVME on PCI + MSI 中断方式驱动可以工作。

请详细参考 Arm® Generic Interrupt - Controller Architecture Specification GIC - architecture version 3 and version 4 编程手册进行分析。 在 GICv3 中,对于 `GICD_IROUTER` 的具体地址就是 `0x6000 + 8 * n` 但是在手册中有明确的前提:**n = 32...