diff options
Diffstat (limited to 'docs/kernel_buffer.puml')
-rw-r--r-- | docs/kernel_buffer.puml | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/kernel_buffer.puml b/docs/kernel_buffer.puml new file mode 100644 index 0000000..dc2c744 --- /dev/null +++ b/docs/kernel_buffer.puml @@ -0,0 +1,52 @@ +@startuml + +skinparam backgroundColor #FEFEFE + +box "Application" #0091BD +participant "main()" as main +end box + +box "Driver library" #00C1DE +participant "Device" as ddev +participant "Buffer" as dbuf +participant "Network" as dnet +participant "Inference" as dinf +end box + +box "Kernel driver" #7D868C +participant "Device" as kdev +participant "Buffer" as kbuf +participant "Network" as knet +participant "Inference" as kinf +end box + +activate main + +main -> ddev++: Device() + note over kdev + Open device node + end note + + ddev -> kdev++: open(<device node>) + return file descriptor +return + +main -> dbuf++: Buffer(device) + dbuf -> kdev++: ioctl(BUFFER_CREATE) + note over kbuf + Create buffer and return file descriptor + end note + + kdev -> kbuf++: create() + return file descriptor + return file descriptor + + note over kbuf + Memory map buffer + end note + + dbuf -> kbuf++: mmap(file descriptor) + return +return + +@enduml |