/DragonOS-0.1.5/kernel/src/libs/ |
D | lockref.c | 43 CMPXCHG_LOOP(lock_ref, ++new.count;, return;); in lockref_inc() 47 ++lock_ref->count; in lockref_inc() 63 if (old.count <= 0) in lockref_inc_not_zero() 65 ++new.count; in lockref_inc_not_zero() 72 if (lock_ref->count > 0) in lockref_inc_not_zero() 74 ++lock_ref->count; in lockref_inc_not_zero() 96 if (old.count <= 0) in lockref_dec() 98 --new.count; in lockref_dec() 100 { return new.count; }) in lockref_dec() 105 if (lock_ref->count > 0) in lockref_dec() [all …]
|
D | lockref.rs | 15 pub count: i32, field 22 count: i32, field 38 count: 0, 59 old.count = unsafe { read_volatile(&self.count) }; in cmpxchg_loop() 72 new.count += 1; in cmpxchg_loop() 76 if old.count <= 0 { in cmpxchg_loop() 79 new.count += 1; in cmpxchg_loop() 83 if old.count < 0 { in cmpxchg_loop() 86 new.count += 1; in cmpxchg_loop() 90 if old.count <= 0 { in cmpxchg_loop() [all …]
|
D | mutex.c | 12 atomic_set(&lock->count, 1); in mutex_init() 59 atomic_dec(&lock->count); in mutex_lock() 83 atomic_inc(&lock->count); in mutex_unlock() 117 atomic_dec(&lock->count); in mutex_trylock()
|
D | string.c | 65 char *strncpy(char *dst, const char *src, long count) in strncpy() argument 79 : "S"(src), "D"(dst), "c"(count) in strncpy()
|
D | cpu.c | 49 int count = 0; in cpu_init() local 55 *(uint *)&Cpu_BrandName[4 * count] = tmp_info[j]; in cpu_init() 56 ++count; in cpu_init()
|
/DragonOS-0.1.5/user/apps/shell/ |
D | shell.c | 64 int count = shell_readline(kb_fd, input_buffer); in main_loop() local 65 if (!count || current_command_index < count_history - 1) in main_loop() 67 if (count) in main_loop() 76 if (count) in main_loop() 110 void clear_command(int count, char *buf) in clear_command() argument 112 for (int i = 0; i < count; i++) in clear_command() 155 int count = 0; in shell_readline() local 164 clear_command(count, buf); in shell_readline() 165 count = 0; in shell_readline() 168 count = strlen(buf); in shell_readline() [all …]
|
/DragonOS-0.1.5/docs/kernel/locking/ |
D | lockref.md | 19 pub count: i32, 26 count: i32, 42 int count; 79   原子地将引用计数加1.如果原来的count≤0,则操作失败。 85 | Ok(self.count) | 成功,返回新的引用计数 | 98 | Ok(self.count) | 成功,返回新的引用计数 | 111   原子地将引用计数-1。如果已处于count≤0的状态,则返回Err(-1) 113   本函数与`lockref_dec_return()`的区别在于,当在`cmpxchg()`中检测到`count<=0`或已加锁,本函数会再次尝试通过加锁来执行操作,而`loc… 119 | Ok(self.count) | 成功,返回新的引用计数 | 124   原子地将引用计数减1。如果处于已加锁或count≤0的状态,则返回-1 [all …]
|
/DragonOS-0.1.5/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 100 long ps2_keyboard_read(struct vfs_file_t *filp, char *buf, int64_t count, long *position) in ps2_keyboard_read() argument 106 count = (count > kb_buf.size) ? kb_buf.size : count; in ps2_keyboard_read() 107 return kfifo_out(&kb_buf, buf, count); in ps2_keyboard_read() 119 long ps2_keyboard_write(struct vfs_file_t *filp, char *buf, int64_t count, long *position) in ps2_keyboard_write() argument 147 uint8_t count = kfifo_in((struct kfifo_t *)buf_vaddr, &x, sizeof(unsigned char)); in ps2_keyboard_handler() local 148 if (count == 0) in ps2_keyboard_handler()
|
/DragonOS-0.1.5/kernel/src/libs/libUI/ |
D | textui-render.c | 39 int textui_refresh_vlines(struct textui_window_t *window, uint16_t start, uint16_t count) in textui_refresh_vlines() argument 43 for (int i = start; i < window->vlines_num && count > 0; ++i, --count) in textui_refresh_vlines() 50 while (count > 0) in textui_refresh_vlines() 58 --count; in textui_refresh_vlines() 73 …fresh_characters(struct textui_window_t *window, uint16_t vline_id, uint16_t start, uint16_t count) in textui_refresh_characters() argument 78 if (unlikely(vline_id >= window->vlines_num && (start + count) > window->chars_per_line)) in textui_refresh_characters() 93 for (int i = 0; i < count; ++i) in textui_refresh_characters()
|
D | textui.h | 130 int textui_refresh_vlines(struct textui_window_t *window, uint16_t start, uint16_t count); 141 …resh_characters(struct textui_window_t *window, uint16_t vline_id, uint16_t start, uint16_t count);
|
/DragonOS-0.1.5/kernel/src/driver/mouse/ |
D | ps2_mouse.c | 22 ps2_mouse_buf_ptr->count = 0; in ps2_mouse_clear_buf() 34 if (ps2_mouse_buf_ptr->count == 0) in ps2_mouse_get_scancode() 35 while (!ps2_mouse_buf_ptr->count) in ps2_mouse_get_scancode() 42 --(ps2_mouse_buf_ptr->count); in ps2_mouse_get_scancode() 65 if (ps2_mouse_buf_ptr->count >= ps2_mouse_buffer_size) in ps2_mouse_handler() 72 ++(ps2_mouse_buf_ptr->count); in ps2_mouse_handler() 207 ps2_mouse_buf_ptr->count = 0; in ps2_mouse_init() 289 if (ps2_mouse_buf_ptr->count < 4) in ps2_mouse_get_packet() 314 if (ps2_mouse_buf_ptr->count < 5) in ps2_mouse_get_packet() 353 if(!ps2_mouse_buf_ptr->count) in analyze_mousecode() [all …]
|
/DragonOS-0.1.5/kernel/src/driver/multiboot2/ |
D | multiboot2.c | 22 void *data, unsigned int *count) in multiboot2_iter() argument 32 if (_fun(tag, data, count) == true) in multiboot2_iter() 58 bool multiboot2_get_memory(const struct iter_data_t *_iter_data, void *data, unsigned int *count) in multiboot2_get_memory() argument 65 *count = 0; in multiboot2_get_memory() 72 ++(*count); in multiboot2_get_memory()
|
/DragonOS-0.1.5/kernel/src/common/ |
D | semaphore.h | 34 static __always_inline void semaphore_init(semaphore_t *sema, ul count) in semaphore_init() argument 36 atomic_set(&sema->counter, count); in semaphore_init()
|
D | mutex.h | 19 atomic_t count; // 锁计数。1->已解锁。 0->已上锁,且有可能存在等待者 member 69 #define mutex_is_locked(lock) ((atomic_read(&(lock)->count) == 1) ? 0 : 1)
|
D | blk_types.h | 30 …long (*transfer)(struct blk_gendisk *gd, long cmd, uint64_t base_addr, uint64_t count, uint64_t bu… 41 uint32_t count; member
|
/DragonOS-0.1.5/kernel/src/driver/disk/ahci/ |
D | ahcidisk.rs | 55 count: usize, // 读取lba的数量 in read_at() 59 let check_length = ((count - 1) >> 4) + 1; // prdt length in read_at() 60 if count * 512 > buf.len() || check_length > u16::MAX as usize { in read_at() 64 } else if count == 0 { in read_at() 104 let mut tmp_count = count; in read_at() 147 volatile_write!(cmdfis.countl, (count & 0xFF) as u8); in read_at() 148 volatile_write!(cmdfis.counth, ((count >> 8) & 0xFF) as u8); in read_at() 182 return Ok(count * 512); in read_at() 188 count: usize, in write_at() 192 let check_length = ((count - 1) >> 4) + 1; // prdt length in write_at() [all …]
|
/DragonOS-0.1.5/docs/userland/libc/apis/api-list/ |
D | string.md | 13 ``char* strncpy(char *dst,const char *src,size_t count)`` 21 count: 字节数
|
D | unistd.md | 11 ``ssize_t read(int fd,void *buf,size_t count)`` : 从文件读取 17 ``ssize_t write(int fd,void const *buf,size_t count)`` : 写入文件
|
/DragonOS-0.1.5/user/libs/libc/src/ |
D | unistd.c | 28 ssize_t read(int fd, void *buf, size_t count) in read() argument 30 return (ssize_t)syscall_invoke(SYS_READ, fd, (uint64_t)buf, count, 0, 0, 0, 0, 0); in read() 41 ssize_t write(int fd, void const *buf, size_t count) in write() argument 43 return (ssize_t)syscall_invoke(SYS_WRITE, fd, (uint64_t)buf, count, 0, 0, 0, 0, 0); in write()
|
D | dirent.c | 57 int64_t getdents(int fd, struct dirent *dirent, long count) in getdents() argument 59 return syscall_invoke(SYS_GET_DENTS, fd, (uint64_t)dirent, count, 0, 0, 0, 0, 0); in getdents()
|
/DragonOS-0.1.5/kernel/src/driver/tty/ |
D | tty.c | 61 long tty_read(struct vfs_file_t *filp, char *buf, int64_t count, long *position) in tty_read() argument 75 long tty_write(struct vfs_file_t *filp, char *buf, int64_t count, long *position) in tty_write() argument
|
/DragonOS-0.1.5/user/libs/libc/src/include/export/ |
D | unistd.h | 25 ssize_t read(int fd, void *buf, size_t count); 35 ssize_t write(int fd, void const *buf, size_t count);
|
/DragonOS-0.1.5/docs/kernel/boot/ |
D | multiboot2.md | 23 void *data, unsigned int *count) 36 **count**
|
/DragonOS-0.1.5/kernel/src/ktest/ |
D | test-mutex.c | 39 assert(atomic_read(&mtx.count) == 0); in ktest_mutex_case1_pid1() 62 assert(atomic_read(&mtx.count) == 0); in ktest_mutex_case1()
|
/DragonOS-0.1.5/kernel/src/io/ |
D | device.rs | 60 fn read_at(&self, lba_id_start: BlockId, count: usize, buf: &mut [u8]) -> Result<usize, i32>; in read_at() 69 fn write_at(&self, lba_id_start: BlockId, count: usize, buf: &[u8]) -> Result<usize, i32>; in write_at() 112 let count: usize = (range.lba_end - range.lba_start).try_into().unwrap(); in read_at() localVariable 117 BlockDevice::read_at(self, range.lba_start, count, buf_slice)?; in read_at() 148 let count: usize = (range.lba_end - range.lba_start).try_into().unwrap(); in write_at() localVariable 152 BlockDevice::write_at(self, range.lba_start, count, buf_slice)?; in write_at()
|