summaryrefslogtreecommitdiff
path: root/sys/src/9/bcm/vfp3.c
AgeCommit message (Collapse)Author
2020-12-21kernel: update procsave() comment, we'r not holding up->rlock anymorecinap_lenrek
2018-11-07bcm: speed up co-processor operations by avoiding i+d cache flush on each ↵cinap_lenrek
operation coproc.c generated the instrucitons anew each time, requiering a i+d cache flush for each operation. instead, we can speed this up like this: given that the coprocessor registers are per cpu, we can assume that interrupts have already been disabled by the caller to prevent a process switch to another cpu. we cache the instructions generated in a static append only buffer and maintain separate end pointers for each cpu. the cache flushes only need to be done when new operations have been added to the buffer.
2018-10-20bcm: import changes for raspi2/3 from richard millercinap_lenrek
2017-11-04kernel: introduce per process FPU struct (PFPU) for more flexible machine ↵cinap_lenrek
specific fpu handling introducing the PFPU structue which allows the machine specific code some flexibility on how to handle the FPU process state. for example, in the pc and pc64 kernel, the FPsave structure is arround 512 bytes. with avx512, it could grow up to 2K. instead of embedding that into the Proc strucutre, it is more effective to allocate it on first use of the fpu, as most processes do not use simd or floating point in the first place. also, the FPsave structure has special 16 byte alignment constraint, which further favours dynamic allocation. this gets rid of the memmoves in pc/pc64 kernels for the aligment. there is also devproc, which is now checking if the fpsave area is actually valid before reading it, avoiding debuggers to see garbage data. the Notsave structure is gone now, as it was not used on any machine.
2013-05-30kernel: do all fp state fork from procfork() (like pc kernel)cinap_lenrek
this simplifies the arm ports and keeps all the stuff in one place instead of spreading it thru notify(), trap() and syscall() functions and prevents useless fp state copying for kernel procs. also make sure to save fp in notify while still splhi().
2013-01-26add raspberry pi kernel (from sources)cinap_lenrek