void bflb_uart_init(struct bflb_device_s *dev, const struct bflb_uart_config_s *config); 3.bflb_uart_deinit 说明: 反初始化 uart。 void bflb_uart_deinit(struct bflb_device_s *dev); 4.bflb_uart_link_txdma 说明: uart tx dma 使能开关。 void bflb_uart_link_txdma(struct bflb_d...
atomic_t _refcount; #ifdef CONFIG_MEMCG unsignedlongmemcg_data;#endif#ifdefined(WANT_PAGE_VIRTUAL)void*virtual;#endif#ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGSint_last_cpupid;#endif/*private: the union with struct page is transitional*/};structpage page; }; union {struct{ unsignedlong_flags_1;...
int(*config_aneg)(struct phy_device *phydev); int(*aneg_done)(struct phy_device *phydev); int(*read_status)(struct phy_device *phydev); int(*ack_interrupt)(struct phy_device *phydev); int(*config_intr)(struct phy_device *phydev); int(*did_interrupt)(struct phy_device *phydev)...
dma_buf_put_sync dma-buf.c close_work//acct.c__fput_sync(*file)//file_table.c 若减为0了则延迟释放struct file结构atomic_long_dec_and_test(&file->f_count)//各子系统中大量调用get_file(structfile *f)//fs.hatomic_long_inc(&f->f_count); 可以看到,只要是open()一个文件节点,创建一...
dma_addr_t dma_addr; }; struct { /* slab, slob and slub */ union { struct list_head slab_list; struct { /* Partial pages */ struct page *next; #ifdef CONFIG_64BIT int pages; /* Nr of pages left */ int pobjects; /* Approximate count */ ...
ddi_check_dma_handle(9F) ddi_copyin(9F) ddi_copyout(9F) ddi_create_minor_node(9F) ddi_cred(9F) ddi_dev_is_sid(9F) ddi_dev_nintrs(9F) ddi_dev_nregs(9F) ddi_dev_regsize(9F) ddi_dev_report_fault(9F) ddi_device_copy(9F) ddi_device_zero(9F) ddi_devid_compare(9F) ddi_devid_...
ddi_check_dma_handle(9F) ddi_copyin(9F) ddi_copyout(9F) ddi_create_minor_node(9F) ddi_cred(9F) ddi_dev_is_sid(9F) ddi_dev_nintrs(9F) ddi_dev_nregs(9F) ddi_dev_regsize(9F) ddi_dev_report_fault(9F) ddi_device_copy(9F) ddi_device_zero(9F) ddi_devid_compare(9F) ddi_devid_...
如果该页被用作DMA映射,dma_addr_t则代表的是映射的一个总线地址: slab, slob and slub 该页面被slab/slob/slub所管理分配,即已经被buffy分配出去,进一步做小内存分配管理: 主要结构说明: struct list_head slab_list:指向的是slab list链表 struct page *next:在slub中分配使用 ...
CONFIG_INITRAMFS_SOURCE是指定kernel ramdisk的位置,这样指定之后ramdisk会直接被编译到kernel 镜像中。 我们将之前制作好的根文件系统cp到root目录下: # bryant @ ubuntu in ~/Downloads/linux-arm64 on git:main x [1:26:56]$ cp -r ../busybox-1.33.1/_install root ...
dma_addr_t dma_addr; }; struct { /* slab, slob and slub */ union { struct list_head slab_list; struct { /* Partial pages */ struct page *next; #ifdef CONFIG_64BIT int pages; /* Nr of pages left */ int pobjects; /* Approximate count */ ...