Обновление вызовов системных функций в модуле SIMD

This commit is contained in:
Aren 2023-11-17 21:14:40 +03:00
parent 25b77bb8bb
commit 2db3de3d1b
2 changed files with 6 additions and 24 deletions

View File

@ -35,22 +35,4 @@ jobs:
run: ls -la iso_root
- name: check bin
run: ls -la bin
release:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/download-artifact@v3
- name: release
uses: softprops/action-gh-release@v0.1.15
with:
name: Автосборка
tag_name: autobuild
draft: true
files: 'bmosp.hdd', 'kernel.elf', 'bmosp.iso', 'LICENSE'
body: |
Нестабильный релиз. Использовать на свой страх и риск. Система расчитана на работу в эмулируемой среде Qemu под процессоры x86_64.
Мы не несем ответственности за нанесенный ущерб.
run: ls -la bin

View File

@ -15,17 +15,17 @@ module_info_t init(env_t *env) {
uint32_t eax, ebx, ecx, edx;
cpuid(1, &eax, &ebx, &ecx, &edx);
if ((edx >> 23) & 1) { env->fb_printf("MMX поддерживается!\n"); }
if ((edx >> 23) & 1) { fb_printf("MMX поддерживается!\n"); }
if ((edx >> 25) & 1) {
env->fb_printf("SSE2 поддерживается!\n");
env->fb_printf("Адрес региона fxsave 0x%x\n", &fxsave_region);
fb_printf("SSE2 поддерживается!\n");
fb_printf("Адрес региона fxsave 0x%x\n", &fxsave_region);
asm volatile(" fxsave %0 " ::"m"(fxsave_region));
uint32_t sse_version = (ecx >> 25) & 0x7;
env->fb_printf("SSE%u включен\n", sse_version);
fb_printf("SSE%u включен\n", sse_version);
}
if ((ecx >> 28) & 1) { env->fb_printf("AVX поддерживается!\n"); }
if ((ecx >> 28) & 1) { fb_printf("AVX поддерживается!\n"); }
return (module_info_t){
.name = (char *)"SIMD",