From 4165acdf8396d8acfe07ef4c88036e33d26e3980 Mon Sep 17 00:00:00 2001 From: Andrew Dent Date: Wed, 22 May 2024 15:15:14 +0000 Subject: [PATCH] Remove $Revision$ from kernel file headers - To better support git, remove SVN dependant `$Revision$` from file headers. This does *not* remove: the use of `__REV__` macro in `boostr.inc` and `kernel.asm` - Header Copyright notices updated to 2024. - Minimal white space cleanup (trailing spaces automatically removed). - Note: `asmxygen.py` has a *large* amount of whitespace cleanup, due to incorrect line endings. git-svn-id: svn://kolibrios.org@10051 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/acpi/acpi.inc | 3 +- kernel/trunk/asmxygen.py | 2414 +++++++++++++-------------- kernel/trunk/blkdev/ahci.inc | 105 +- kernel/trunk/blkdev/bd_drv.inc | 5 +- kernel/trunk/blkdev/cd_drv.inc | 3 +- kernel/trunk/blkdev/disk.inc | 3 +- kernel/trunk/blkdev/disk_cache.inc | 3 +- kernel/trunk/blkdev/fdc.inc | 4 +- kernel/trunk/blkdev/flp_drv.inc | 4 +- kernel/trunk/blkdev/hd_drv.inc | 3 +- kernel/trunk/blkdev/ide_cache.inc | 5 +- kernel/trunk/blkdev/rd.inc | 3 +- kernel/trunk/blkdev/rdsave.inc | 4 +- kernel/trunk/boot/bootcode.inc | 20 +- kernel/trunk/boot/bootet.inc | 6 +- kernel/trunk/boot/bootge.inc | 8 +- kernel/trunk/boot/bootru.inc | 8 +- kernel/trunk/boot/bootsp.inc | 6 +- kernel/trunk/boot/bootstr.inc | 4 +- kernel/trunk/boot/bootvesa.inc | 9 +- kernel/trunk/boot/et.inc | 4 +- kernel/trunk/boot/parsers.inc | 3 +- kernel/trunk/boot/preboot.inc | 4 +- kernel/trunk/boot/rdload.inc | 12 +- kernel/trunk/boot/ru.inc | 14 +- kernel/trunk/boot/shutdown.inc | 3 +- kernel/trunk/bootbios.inc | 2 +- kernel/trunk/bus/pci/PCIe.inc | 23 +- kernel/trunk/bus/pci/pci16.inc | 4 +- kernel/trunk/bus/pci/pci32.inc | 5 +- kernel/trunk/bus/usb/hccommon.inc | 4 +- kernel/trunk/bus/usb/hub.inc | 4 +- kernel/trunk/bus/usb/init.inc | 4 +- kernel/trunk/bus/usb/memory.inc | 3 +- kernel/trunk/bus/usb/pipe.inc | 4 +- kernel/trunk/bus/usb/protocol.inc | 4 +- kernel/trunk/const.inc | 2 - kernel/trunk/core/apic.inc | 3 +- kernel/trunk/core/clipboard.inc | 6 +- kernel/trunk/core/conf_lib-sp.inc | 4 +- kernel/trunk/core/conf_lib.inc | 5 +- kernel/trunk/core/debug.inc | 4 +- kernel/trunk/core/dll.inc | 4 +- kernel/trunk/core/export.inc | 3 +- kernel/trunk/core/exports.inc | 3 +- kernel/trunk/core/ext_lib.inc | 3 +- kernel/trunk/core/fpu.inc | 4 +- kernel/trunk/core/heap.inc | 6 +- kernel/trunk/core/hpet.inc | 3 +- kernel/trunk/core/irq.inc | 4 +- kernel/trunk/core/malloc.inc | 4 +- kernel/trunk/core/memory.inc | 10 +- kernel/trunk/core/mtrr.inc | 3 +- kernel/trunk/core/mtrrtest.asm | 8 +- kernel/trunk/core/peload.inc | 3 +- kernel/trunk/core/sched.inc | 4 +- kernel/trunk/core/slab.inc | 3 +- kernel/trunk/core/string.inc | 4 +- kernel/trunk/core/sync.inc | 5 +- kernel/trunk/core/sys32-sp.inc | 4 +- kernel/trunk/core/sys32.inc | 3 +- kernel/trunk/core/syscall.inc | 3 +- kernel/trunk/core/taskman.inc | 26 +- kernel/trunk/core/test_malloc.asm | 4 - kernel/trunk/core/timers.inc | 3 +- kernel/trunk/core/v86.inc | 3 +- kernel/trunk/crc.inc | 3 +- kernel/trunk/data16.inc | 4 +- kernel/trunk/data32.inc | 6 +- kernel/trunk/data32et.inc | 6 +- kernel/trunk/data32sp.inc | 4 +- kernel/trunk/detect/biosdisk.inc | 4 +- kernel/trunk/detect/biosmem.inc | 4 +- kernel/trunk/detect/dev_fd.inc | 4 +- kernel/trunk/detect/dev_hdcd.inc | 3 +- kernel/trunk/detect/disks.inc | 4 +- kernel/trunk/detect/getcache.inc | 3 +- kernel/trunk/detect/init_ata.inc | 4 +- kernel/trunk/detect/sear_par.inc | 3 +- kernel/trunk/detect/vortex86.inc | 15 +- kernel/trunk/encoding.inc | 3 +- kernel/trunk/fdo.inc | 3 +- kernel/trunk/fs/exfat.inc | 41 +- kernel/trunk/fs/ext.inc | 3 +- kernel/trunk/fs/fat.inc | 3 +- kernel/trunk/fs/fs_common.inc | 3 +- kernel/trunk/fs/fs_lfn.inc | 7 +- kernel/trunk/fs/iso9660.inc | 3 +- kernel/trunk/fs/ntfs.inc | 3 +- kernel/trunk/fs/parse_fn.inc | 3 +- kernel/trunk/fs/xfs.asm | 4 +- kernel/trunk/fs/xfs.inc | 5 +- kernel/trunk/gui/background.inc | 9 +- kernel/trunk/gui/button.inc | 5 +- kernel/trunk/gui/event.inc | 3 +- kernel/trunk/gui/font.inc | 43 +- kernel/trunk/gui/mouse.inc | 9 +- kernel/trunk/gui/skincode.inc | 4 +- kernel/trunk/gui/skindata.inc | 4 +- kernel/trunk/gui/window.inc | 25 +- kernel/trunk/hid/keyboard.inc | 96 +- kernel/trunk/hid/mousedrv.inc | 4 +- kernel/trunk/hid/set_dtc.inc | 6 +- kernel/trunk/imports.inc | 6 +- kernel/trunk/init.inc | 3 +- kernel/trunk/kernel.asm | 5 +- kernel/trunk/kernel32.inc | 3 +- kernel/trunk/kernelsp.inc | 4 +- kernel/trunk/kglobals.inc | 6 +- kernel/trunk/macros.inc | 12 +- kernel/trunk/network/ARP.inc | 3 +- kernel/trunk/network/IPv4.inc | 3 +- kernel/trunk/network/IPv6.inc | 4 +- kernel/trunk/network/PPPoE.inc | 4 +- kernel/trunk/network/ethernet.inc | 3 +- kernel/trunk/network/icmp.inc | 3 +- kernel/trunk/network/loopback.inc | 3 +- kernel/trunk/network/queue.inc | 5 +- kernel/trunk/network/socket.inc | 3 +- kernel/trunk/network/stack.inc | 3 +- kernel/trunk/network/tcp.inc | 3 +- kernel/trunk/network/tcp_input.inc | 3 +- kernel/trunk/network/tcp_output.inc | 5 +- kernel/trunk/network/tcp_subr.inc | 3 +- kernel/trunk/network/tcp_timer.inc | 5 +- kernel/trunk/network/tcp_usreq.inc | 6 +- kernel/trunk/network/udp.inc | 4 +- kernel/trunk/posix/futex.inc | 3 +- kernel/trunk/posix/pipe.inc | 3 +- kernel/trunk/posix/posix.inc | 3 +- kernel/trunk/sound/playnote.inc | 3 +- kernel/trunk/unicode.inc | 3 +- kernel/trunk/unpacker.inc | 4 +- kernel/trunk/video/blitter.inc | 10 +- kernel/trunk/video/cursors.inc | 4 +- kernel/trunk/video/framebuffer.inc | 3 +- kernel/trunk/video/vesa12.inc | 4 +- kernel/trunk/video/vesa20.inc | 5 +- kernel/trunk/video/vga.inc | 3 +- 139 files changed, 1576 insertions(+), 1791 deletions(-) diff --git a/kernel/trunk/acpi/acpi.inc b/kernel/trunk/acpi/acpi.inc index 82939ddd3..f5e14b435 100644 --- a/kernel/trunk/acpi/acpi.inc +++ b/kernel/trunk/acpi/acpi.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; ACPI Generic Address Structure struct GAS diff --git a/kernel/trunk/asmxygen.py b/kernel/trunk/asmxygen.py index f3b6b5354..4bcc2e1c1 100644 --- a/kernel/trunk/asmxygen.py +++ b/kernel/trunk/asmxygen.py @@ -1,1207 +1,1207 @@ -import re -import os -import argparse -import sys -import pickle -import hashlib -import difflib - -# fasm keywords -keywords = [ - "align", "equ", "org", "while", "load", "store", "times", "repeat", - "display", "err", "assert", "if", "aaa", "aad", "aam", "aas", "adc", - "add", "addpd", "addps", "addsd", "addss", "addsubpd", "addsubps", "adox", - "aesdeclast", "aesenc", "aesenclast", "aesimc", "aeskeygenassist", "and", - "andnpd", "andnps", "andpd", "andps", "arpl", "bextr", "blendpd", - "blendvpd", "blendvps", "blsi", "blsmsk", "blsr", "bndcl", "bndcn", - "bndldx", "bndmk", "bndmov", "bndstx", "bound", "bsf", "bsr", "bswap", - "btc", "btr", "bts", "bzhi", "call", "cbw", "cdq", "cdqe", "clac", "clc", - "cldemote", "clflush", "clflushopt", "cli", "clts", "clwb", "cmc", "cmova", - "cmovb", "cmovbe", "cmovc", "cmove", "cmovg", "cmovge", "cmovl", "cmovle", - "cmovnae", "cmovnb", "cmovnbe", "cmovnc", "cmovne", "cmovng", "cmovnge", - "cmovnle", "cmovno", "cmovnp", "cmovns", "cmovnz", "cmovo", "cmovp", - "cmovpo", "cmovs", "cmovz", "cmp", "cmppd", "cmpps", "cmps", "cmpsb", - "cmpsd", "cmpsq", "cmpss", "cmpsw", "cmpxchg", "cmpxchg16b", "cmpxchg8b", - "comiss", "cpuid", "cqo", "crc32", "cvtdq2pd", "cvtdq2ps", "cvtpd2dq", - "cvtpd2ps", "cvtpi2pd", "cvtpi2ps", "cvtps2dq", "cvtps2pd", "cvtps2pi", - "cvtsd2ss", "cvtsi2sd", "cvtsi2ss", "cvtss2sd", "cvtss2si", "cvttpd2dq", - "cvttps2dq", "cvttps2pi", "cvttsd2si", "cvttss2si", "cwd", "cwde", "daa", - "dec", "div", "divpd", "divps", "divsd", "divss", "dppd", "dpps", "emms", - "extractps", "f2xm1", "fabs", "fadd", "faddp", "fbld", "fbstp", "fchs", - "fcmova", "fcmovae", "fcmovb", "fcmovbe", "fcmovc", "fcmove", "fcmovg", - "fcmovl", "fcmovle", "fcmovna", "fcmovnae", "fcmovnb", "fcmovnbe", - "fcmovne", "fcmovng", "fcmovnge", "fcmovnl", "fcmovnle", "fcmovno", - "fcmovns", "fcmovnz", "fcmovo", "fcmovp", "fcmovpe", "fcmovpo", "fcmovs", - "fcom", "fcomi", "fcomip", "fcomp", "fcompp", "fcos", "fdecstp", "fdiv", - "fdivr", "fdivrp", "ffree", "fiadd", "ficom", "ficomp", "fidiv", "fidivr", - "fimul", "fincstp", "finit", "fist", "fistp", "fisttp", "fisub", "fisubr", - "fld1", "fldcw", "fldenv", "fldl2e", "fldl2t", "fldlg2", "fldln2", "fldpi", - "fmul", "fmulp", "fnclex", "fninit", "fnop", "fnsave", "fnstcw", "fnstenv", - "fpatan", "fprem", "fprem1", "fptan", "frndint", "frstor", "fsave", - "fsin", "fsincos", "fsqrt", "fst", "fstcw", "fstenv", "fstp", "fstsw", - "fsubp", "fsubr", "fsubrp", "ftst", "fucom", "fucomi", "fucomip", "fucomp", - "fwait", "fxam", "fxch", "fxrstor", "fxsave", "fxtract", "fyl2x", - "gf2p8affineinvqb", "gf2p8affineqb", "gf2p8mulb", "haddpd", "haddps", - "hsubpd", "hsubps", "idiv", "imul", "in", "inc", "ins", "insb", "insd", - "insw", "int", "int1", "int3", "into", "invd", "invlpg", "invpcid", "iret", - "jmp", "ja", "jae", "jb", "jbe", "jc", "jcxz", "jecxz", "je", "jg", "jge", - "jle", "jna", "jnae", "jnb", "jnbe", "jnc", "jne", "jng", "jnge", "jnl", - "jno", "jnp", "jns", "jnz", "jo", "jp", "jpe", "jpo", "js", "jz", "kaddb", - "kaddq", "kaddw", "kandb", "kandd", "kandnb", "kandnd", "kandnq", "kandnw", - "kandw", "kmovb", "kmovd", "kmovq", "kmovw", "knotb", "knotd", "knotq", - "korb", "kord", "korq", "kortestb", "kortestd", "kortestq", "kortestw", - "kshiftlb", "kshiftld", "kshiftlq", "kshiftlw", "kshiftrb", "kshiftrd", - "kshiftrw", "ktestb", "ktestd", "ktestq", "ktestw", "kunpckbw", "kunpckdq", - "kxnorb", "kxnord", "kxnorq", "kxnorw", "kxorb", "kxord", "kxorq", "kxorw", - "lar", "lddqu", "ldmxcsr", "lds", "lea", "leave", "les", "lfence", "lfs", - "lgs", "lidt", "lldt", "lmsw", "lock", "lods", "lodsb", "lodsd", "lodsq", - "loop", "loopa", "loopae", "loopb", "loopbe", "loopc", "loope", "loopg", - "loopl", "loople", "loopna", "loopnae", "loopnb", "loopnbe", "loopnc", - "loopng", "loopnge", "loopnl", "loopnle", "loopno", "loopnp", "loopns", - "loopo", "loopp", "looppe", "looppo", "loops", "loopz", "lsl", "lss", - "lzcnt", "maskmovdqu", "maskmovq", "maxpd", "maxps", "maxsd", "maxss", - "minpd", "minps", "minsd", "minss", "monitor", "mov", "movapd", "movaps", - "movd", "movddup", "movdir64b", "movdiri", "movdq2q", "movdqa", "movdqu", - "movhpd", "movhps", "movlhps", "movlpd", "movlps", "movmskpd", "movmskps", - "movntdqa", "movnti", "movntpd", "movntps", "movntq", "movq", "movq", - "movs", "movsb", "movsd", "movsd", "movshdup", "movsldup", "movsq", - "movsw", "movsx", "movsxd", "movupd", "movups", "movzx", "mpsadbw", "mul", - "mulps", "mulsd", "mulss", "mulx", "mwait", "neg", "nop", "not", "or", - "orps", "out", "outs", "outsb", "outsd", "outsw", "pabsb", "pabsd", - "pabsw", "packssdw", "packsswb", "packusdw", "packuswb", "paddb", "paddd", - "paddsb", "paddsw", "paddusb", "paddusw", "paddw", "palignr", "pand", - "pause", "pavgb", "pavgw", "pblendvb", "pblendw", "pclmulqdq", "pcmpeqb", - "pcmpeqq", "pcmpeqw", "pcmpestri", "pcmpestrm", "pcmpgtb", "pcmpgtd", - "pcmpgtw", "pcmpistri", "pcmpistrm", "pdep", "pext", "pextrb", "pextrd", - "pextrw", "phaddd", "phaddsw", "phaddw", "phminposuw", "phsubd", "phsubsw", - "pinsrb", "pinsrd", "pinsrq", "pinsrw", "pmaddubsw", "pmaddwd", "pmaxsb", - "pmaxsq", "pmaxsw", "pmaxub", "pmaxud", "pmaxuq", "pmaxuw", "pminsb", - "pminsq", "pminsw", "pminub", "pminud", "pminuq", "pminuw", "pmovmskb", - "pmovzx", "pmuldq", "pmulhrsw", "pmulhuw", "pmulhw", "pmulld", "pmullq", - "pmuludq", "pop", "popa", "popad", "popcnt", "popf", "popfd", "popfq", - "prefetchw", "prefetchh", "psadbw", "pshufb", "pshufd", "pshufhw", - "pshufw", "psignb", "psignd", "psignw", "pslld", "pslldq", "psllq", - "psrad", "psraq", "psraw", "psrld", "psrldq", "psrlq", "psrlw", "psubb", - "psubq", "psubsb", "psubsw", "psubusb", "psubusw", "psubw", "ptest", - "punpckhbw", "punpckhdq", "punpckhqdq", "punpckhwd", "punpcklbw", - "punpcklqdq", "punpcklwd", "push", "pushw", "pushd", "pusha", "pushad", - "pushfd", "pushfq", "pxor", "rcl", "rcpps", "rcpss", "rcr", "rdfsbase", - "rdmsr", "rdpid", "rdpkru", "rdpmc", "rdrand", "rdseed", "rdtsc", "rdtscp", - "repe", "repne", "repnz", "repz", "ret", "rol", "ror", "rorx", "roundpd", - "roundsd", "roundss", "rsm", "rsqrtps", "rsqrtss", "sahf", "sal", "sar", - "sbb", "scas", "scasb", "scasd", "scasw", "seta", "setae", "setb", "setbe", - "sete", "setg", "setge", "setl", "setle", "setna", "setnae", "setnb", - "setnc", "setne", "setng", "setnge", "setnl", "setnle", "setno", "setnp", - "setnz", "seto", "setp", "setpe", "setpo", "sets", "setz", "sfence", - "sha1msg1", "sha1msg2", "sha1nexte", "sha1rnds4", "sha256msg1", - "sha256rnds2", "shl", "shld", "shlx", "shr", "shrd", "shrx", "shufpd", - "sidt", "sldt", "smsw", "sqrtpd", "sqrtps", "sqrtsd", "sqrtss", "stac", - "std", "sti", "stmxcsr", "stos", "stosb", "stosd", "stosq", "stosw", "str", - "subpd", "subps", "subsd", "subss", "swapgs", "syscall", "sysenter", - "sysret", "test", "tpause", "tzcnt", "ucomisd", "ucomiss", "ud", - "umwait", "unpckhpd", "unpckhps", "unpcklpd", "unpcklps", "valignd", - "vblendmpd", "vblendmps", "vbroadcast", "vcompresspd", "vcompressps", - "vcvtpd2udq", "vcvtpd2uqq", "vcvtph2ps", "vcvtps2ph", "vcvtps2qq", - "vcvtps2uqq", "vcvtqq2pd", "vcvtqq2ps", "vcvtsd2usi", "vcvtss2usi", - "vcvttpd2udq", "vcvttpd2uqq", "vcvttps2qq", "vcvttps2udq", "vcvttps2uqq", - "vcvttss2usi", "vcvtudq2pd", "vcvtudq2ps", "vcvtuqq2pd", "vcvtuqq2ps", - "vcvtusi2ss", "vdbpsadbw", "verr", "verw", "vexpandpd", "vexpandps", - "vextractf32x4", "vextractf32x8", "vextractf64x2", "vextractf64x4", - "vextracti32x4", "vextracti32x8", "vextracti64x2", "vextracti64x4", - "vfixupimmps", "vfixupimmsd", "vfixupimmss", "vfmadd132pd", "vfmadd132ps", - "vfmadd132ss", "vfmadd213pd", "vfmadd213ps", "vfmadd213sd", "vfmadd213ss", - "vfmadd231ps", "vfmadd231sd", "vfmadd231ss", "vfmaddsub132pd", - "vfmaddsub213pd", "vfmaddsub213ps", "vfmaddsub231pd", "vfmaddsub231ps", - "vfmsub132ps", "vfmsub132sd", "vfmsub132ss", "vfmsub213pd", "vfmsub213ps", - "vfmsub213ss", "vfmsub231pd", "vfmsub231ps", "vfmsub231sd", "vfmsub231ss", - "vfmsubadd132ps", "vfmsubadd213pd", "vfmsubadd213ps", "vfmsubadd231pd", - "vfnmadd132pd", "vfnmadd132ps", "vfnmadd132sd", "vfnmadd132ss", - "vfnmadd213ps", "vfnmadd213sd", "vfnmadd213ss", "vfnmadd231pd", - "vfnmadd231sd", "vfnmadd231ss", "vfnmsub132pd", "vfnmsub132ps", - "vfnmsub132ss", "vfnmsub213pd", "vfnmsub213ps", "vfnmsub213sd", - "vfnmsub231pd", "vfnmsub231ps", "vfnmsub231sd", "vfnmsub231ss", - "vfpclassps", "vfpclasssd", "vfpclassss", "vgatherdpd", "vgatherdpd", - "vgatherdps", "vgatherqpd", "vgatherqpd", "vgatherqps", "vgatherqps", - "vgetexpps", "vgetexpsd", "vgetexpss", "vgetmantpd", "vgetmantps", - "vgetmantss", "vinsertf128", "vinsertf32x4", "vinsertf32x8", - "vinsertf64x4", "vinserti128", "vinserti32x4", "vinserti32x8", - "vinserti64x4", "vmaskmov", "vmovdqa32", "vmovdqa64", "vmovdqu16", - "vmovdqu64", "vmovdqu8", "vpblendd", "vpblendmb", "vpblendmd", "vpblendmq", - "vpbroadcast", "vpbroadcastb", "vpbroadcastd", "vpbroadcastm", - "vpbroadcastw", "vpcmpb", "vpcmpd", "vpcmpq", "vpcmpub", "vpcmpud", - "vpcmpuw", "vpcmpw", "vpcompressd", "vpcompressq", "vpconflictd", - "vperm2f128", "vperm2i128", "vpermb", "vpermd", "vpermi2b", "vpermi2d", - "vpermi2ps", "vpermi2q", "vpermi2w", "vpermilpd", "vpermilps", "vpermpd", - "vpermq", "vpermt2b", "vpermt2d", "vpermt2pd", "vpermt2ps", "vpermt2q", - "vpermw", "vpexpandd", "vpexpandq", "vpgatherdd", "vpgatherdd", - "vpgatherdq", "vpgatherqd", "vpgatherqd", "vpgatherqq", "vpgatherqq", - "vplzcntq", "vpmadd52huq", "vpmadd52luq", "vpmaskmov", "vpmovb2m", - "vpmovdb", "vpmovdw", "vpmovm2b", "vpmovm2d", "vpmovm2q", "vpmovm2w", - "vpmovqb", "vpmovqd", "vpmovqw", "vpmovsdb", "vpmovsdw", "vpmovsqb", - "vpmovsqw", "vpmovswb", "vpmovusdb", "vpmovusdw", "vpmovusqb", "vpmovusqd", - "vpmovuswb", "vpmovw2m", "vpmovwb", "vpmultishiftqb", "vprold", "vprolq", - "vprolvq", "vprord", "vprorq", "vprorvd", "vprorvq", "vpscatterdd", - "vpscatterqd", "vpscatterqq", "vpsllvd", "vpsllvq", "vpsllvw", "vpsravd", - "vpsravw", "vpsrlvd", "vpsrlvq", "vpsrlvw", "vpternlogd", "vpternlogq", - "vptestmd", "vptestmq", "vptestmw", "vptestnmb", "vptestnmd", "vptestnmq", - "vrangepd", "vrangeps", "vrangesd", "vrangess", "vrcp14pd", "vrcp14ps", - "vrcp14ss", "vreducepd", "vreduceps", "vreducesd", "vreducess", - "vrndscaleps", "vrndscalesd", "vrndscaless", "vrsqrt14pd", "vrsqrt14ps", - "vrsqrt14ss", "vscalefpd", "vscalefps", "vscalefsd", "vscalefss", - "vscatterdps", "vscatterqpd", "vscatterqps", "vshuff32x4", "vshuff64x2", - "vshufi64x2", "vtestpd", "vtestps", "vzeroall", "vzeroupper", "wait", - "wrfsbase", "wrgsbase", "wrmsr", "wrpkru", "xabort", "xacquire", "xadd", - "xchg", "xend", "xgetbv", "xlat", "xlatb", "xor", "xorpd", "xorps", - "xrstor", "xrstors", "xsave", "xsavec", "xsaveopt", "xsaves", "xsetbv", -] - -fasm_types = [ - "db", "rb", - "dw", "rw", - "dd", "rd", - "dp", "rp", - "df", "rf", - "dq", "rq", - "dt", "rt", - "du", -] - - -# Add kind flag to identifier in id2kind -def id_add_kind(identifier, kind): - if identifier not in id2kind: - id2kind[identifier] = '' - id2kind[identifier] += kind - - -# Remove kind flag of identifier in id2kind -def id_remove_kind(identifier, kind): - if identifier in id2kind: - if kind in id2kind[identifier]: - id2kind[identifier] = id2kind[identifier].replace(kind, '') - - -# Get kind of an identifier -def id_get_kind(identifier): - if identifier in id2kind: - return id2kind[identifier] - else: - return '' - - -class LegacyAsmReader: - def __init__(self, file): - self.file = file - self.lines = open(file, "r", encoding="utf-8").readlines() - self.line_idx = 0 - self.i = 0 - - def currline(self): - return self.lines[self.line_idx] - - def curr(self): - try: - return self.lines[self.line_idx][self.i] - except: - return '' - - def step(self): - c = self.curr() - self.i += 1 - # Wrap the line if '\\' followed by whitespaces and/or comment - while self.curr() == '\\': - i_of_backslash = self.i - self.i += 1 - while self.curr().isspace(): - self.i += 1 - if self.curr() == ';' or self.curr() == '': - self.line_idx += 1 - self.i = 0 - else: - # There's something other than a comment after the backslash - # So don't interpret the backslash as a line wrap - self.i = i_of_backslash - break - return c - - def nextline(self): - c = self.curr() - while c != '': - c = self.step() - self.line_idx += 1 - self.i = 0 - - def no_lines(self): - if self.line_idx >= len(self.lines): - return True - return False - - def location(self): - return f"{self.file}:{self.line_idx + 1}" - - def skip_spaces(self): - while self.curr().isspace(): - self.step() - - -class AsmReaderRecognizingStrings(LegacyAsmReader): - def __init__(self, file): - super().__init__(file) - self.in_string = None - self.should_recognize_strings = True - - def step(self): - c = super().step() - if self.should_recognize_strings and (c == '"' or c == "'"): - # If just now we was at the double or single quotation mark - # and we aren't in a string yet then say - # "we are in a string openned with this quotation mark now" - if self.in_string is None: - self.in_string = c - # If just now we was at the double or single quotation mark - # and we are in the string entered with the same quotation mark - # then say "we aren't in a string anymore" - elif self.in_string == c: - self.in_string = None - return c - - -class AsmReaderReadingComments(AsmReaderRecognizingStrings): - def __init__(self, file): - super().__init__(file) - self.status = dict() - self.status_reset() - self.comment = '' - - def status_reset(self): - # If the line has non-comment code - self.status_has_code = False - # If the line has a comment at the end - self.status_has_comment = False - # Let it recognize strings further, we are definitely out of a comment - self.should_recognize_strings = True - - def status_set_has_comment(self): - self.status_has_comment = True - # Don't let it recognize strings cause we are in a comment now - self.should_recognize_strings = False - - def status_set_has_code(self): - self.status_has_code = True - - def update_status(self): - # If we aren't in a comment and we aren't in a string - - # say we are now in a comment if ';' met - if (not self.status_has_comment and - not self.in_string and - self.curr() == ';'): - self.status_set_has_comment() - # Else if we are in a comment - collect the comment - elif self.status_has_comment: - self.comment += self.curr() - # Else if there's some non-whitespace character out of a comment - # then the line has code - elif not self.status_has_comment and not self.curr().isspace(): - self.status_set_has_code() - - def step(self): - # Get to the next character - c = super().step() - # Update status of the line according to the next character - self.update_status() - return c - - def nextline(self): - prev_line = self.currline() - super().nextline() - # If the line we leave was not a comment-only line - # then forget the collected comment - # Otherwise the collected comment should be complemented by - # comment from next line in step() - if self.status_has_code: - # But we should preserve comment for the next line - # If previous line set align (cause many functions re documented - # right before align set, not before their labels) - if not prev_line.startswith("align "): - self.comment = '' - # Reset the line status (now it's the status of the new line) - self.status_reset() - # Set new status for this line according to the - # first character in the line - self.update_status() - - -class AsmReaderFetchingIdentifiers(AsmReaderReadingComments): - def __init__(self, file): - super().__init__(file) - - def fetch_identifier(self): - self.skip_spaces() - result = '' - while is_id(self.curr()): - result += self.step() - return result - - -class AsmReader(AsmReaderFetchingIdentifiers): - def __init__(self, file): - super().__init__(file) - - -def append_file(full_path, contents): - if debug_mode: - if full_path not in output_files: - output_files[full_path] = "" - output_files[full_path] += contents - else: - f = open(full_path, "a") - f.write(contents) - f.close() - - -class AsmElement: - def __init__(self, location, name, comment): - global warnings - - # If the element was constructed during this execution then - # the element is new - self.new = True - self.location = location - self.file = self.location.split(':')[0].replace('\\', '/') - self.line = self.location.split(':')[1] - self.name = name - self.comment = comment - - if self.comment == '': - warnings += f'{self.location}: Undocumented element\n' - - def dump(self): - print(f"\n{self.location}: {self.name}") - print(f"{self.comment}") - - def emit(self, dest, doxycomment='', declaration=''): - # Do not emit anything if the symbol is marked as hidden in its comment - if '@dont_give_a_doxygen' in self.comment: - return - - global warnings - # Redefine default declaration - if declaration == '': - declaration = f'#define {self.name}' - # Check doxycomment - if not doxycomment.endswith('\n'): - doxycomment += '\n' - if doxycomment.split('@brief ')[1][0].islower(): - warnings += (f"{self.location}: Brief comment starting from " + - "lowercase\n") - # Build contents to emit - contents = '' - contents += '/**\n' - contents += doxycomment - contents += (f"@par Source\n" + - f"{self.file}:{self.line}\n") - contents += '*/\n' - contents += declaration - contents += '\n\n' - # Get path to file to emit this - full_path = dest + '/' + self.file - # Remove the file on first access if it was - # created by previous generation - if full_path not in created_files: - if os.path.isfile(full_path): - os.remove(full_path) - created_files.append(full_path) - # Create directories need for the file - os.makedirs(os.path.dirname(full_path), exist_ok=True) - contents = ''.join([i if ord(i) < 128 else '?' for i in contents]) - - append_file(full_path, contents) - - -class AsmVariable(AsmElement): - def __init__(self, location, name, comment, type, init): - super().__init__(location, name, comment) - self.type = type - self.init = init - - def dump(self): - super().dump() - print(f"(Variable)\n---") - - def emit(self, dest): - # Build doxycomment specific for the variable - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - doxycomment += (f"@par Initial value\n" + - f"{self.init}\n") - # Build the declaration - name = self.name.replace(".", "_") - var_type = self.type.replace(".", "_") - declaration = f"{var_type} {name};" - # Emit this - super().emit(dest, doxycomment, declaration) - - -class AsmFunction(AsmElement): - def __init__(self, location, name, comment, calling_convention, - args, used_regs): - super().__init__(location, name, comment) - self.calling_convention = calling_convention - self.args = args - self.used_regs = used_regs - - def dump(self): - super().dump() - print(f"(Function)\n---") - - def emit(self, dest): - # Build doxycomment specific for the variable - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - # If there was no arguments, maybe that's just a label - # then parse parameters from its comment - if len(self.args) == 0 and '@param' in self.comment: - i = 0 - while '@param' in self.comment[i:]: - i = self.comment.index('@param', i) - # Skip '@param' - i += len('@param') - # Skip spaces after '@param' - while self.comment[i].isspace(): - i += 1 - # Get the parameter name - name = '' - while is_id(self.comment[i]): - name += self.comment[i] - i += 1 - # Save the parameter - self.args.append((name, 'arg_t')) - # Build the arg list for declaration - arg_list = '(' - if len(self.args) > 0: - argc = 0 - for arg in self.args: - if argc != 0: - arg_list += ", " - arg_list += f"{arg[1]} {arg[0]}" - argc += 1 - arg_list += ')' - # Build the declaration - name = self.name.replace(".", "_") - declaration = f"void {name}{arg_list};" - # Emit this - super().emit(dest, doxycomment, declaration) - - -class AsmLabel(AsmElement): - def __init__(self, location, name, comment): - super().__init__(location, name, comment) - - def dump(self): - super().dump() - print(f"(Label)\n---") - - def emit(self, dest): - # Build doxycomment specific for the variable - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - # Build the declaration - name = self.name.replace(".", "_") - declaration = f"label {name};" - # Emit this - super().emit(dest, doxycomment, declaration) - - -class AsmMacro(AsmElement): - def __init__(self, location, name, comment, args): - super().__init__(location, name, comment) - self.args = args - - def dump(self): - super().dump() - print(f"(Macro)\n---") - - def emit(self, dest): - # Construct arg list without '['s, ']'s and '*'s - args = [arg for arg in self.args if arg not in "[]*"] - # Construct C-like arg list - arg_list = "" - if len(args) > 0: - arg_list += '(' - argc = 0 - for arg in args: - if argc != 0: - arg_list += ", " - arg_list += arg - argc += 1 - arg_list += ')' - # Build doxycomment - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - # Build declaration - declaration = f"#define {self.name}{arg_list}" - # Emit this - super().emit(dest, doxycomment, declaration) - - -class AsmStruct(AsmElement): - def __init__(self, location, name, comment, members): - super().__init__(location, name, comment) - self.members = members - - def dump(self): - super().dump() - print(f"(Struct)\n---") - - def emit(self, dest): - # Build doxycomment - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - doxycomment += '\n' - # Build declaration - declaration = f"struct {self.name}" + " {\n" - for member in self.members: - if type(member) == AsmVariable: - declaration += (f'\t{member.type} {member.name}; ' + - f'/**< {member.comment} */\n') - declaration += '};' - # Emit this - super().emit(dest, doxycomment, declaration) - - -class AsmUnion(AsmElement): - def __init__(self, location, name, comment, members): - super().__init__(location, name, comment) - self.members = members - - def dump(self): - super().dump() - print(f"(Union)\n---") - - def emit(self, dest): - # Build doxycomment - doxycomment = '' - doxycomment += self.comment - if '@brief' not in doxycomment: - doxycomment = '@brief ' + doxycomment - # Build declaration - declaration = f"union {self.name}" + " {};" - # Emit this - super().emit(dest, doxycomment, declaration) - - -class VariableNameIsMacroName: - def __init__(self, name): - self.name = name - - -def is_id(c): - return c.isprintable() and c not in "+-/*=<>()[]{};:,|&~#`'\" \n\r\t\v" - - -def is_starts_as_id(s): - return not s[0].isdigit() - - -def parse_after_macro(r): - location = r.location() - - # Skip spaces after the "macro" keyword - r.skip_spaces() - # Read macro name - name = "" - while is_id(r.curr()) or r.curr() == '#': - name += r.step() - # Skip spaces after macro name - r.skip_spaces() - # Find all arguments - args = [] - arg = '' - while r.curr() and r.curr() != ';' and r.curr() != '{': - # Collect identifier - if is_id(r.curr()): - arg += r.step() - # Save the collected identifier - elif r.curr() == ',': - args.append(arg) - arg = '' - r.step() - # Just push the '[' - elif r.curr() == '[': - args.append(r.step()) - # Just push the identifier and get ']' ready to be pushed on next comma - elif r.curr() == ']': - args.append(arg) - arg = r.step() - # Just push the identifier and get '*' ready to be pushed on next comma - elif r.curr() == '*': - args.append(arg) - arg = r.step() - # Just skip whitespaces - elif r.curr().isspace(): - r.step() - # Something unexpected - else: - raise Exception(f"Unexpected symbol '{r.curr()}' " + - f"at index #{r.i} in the macro declaration " + - f"at {location} " + - f"(line: {r.lines[r.line_idx]})\n''") - # Append the last argument - if arg != '': - args.append(arg) - # Skip t spaces after the argument list - r.skip_spaces() - # Get a comment if it is: read till the end of the line and - # get the comment from the reader - while r.curr() != '': - r.step() - comment = r.comment - # Find end of the macro - prev = '' - while True: - if r.curr() == '}' and prev != '\\': - break - elif r.curr() == '': - prev = '' - r.nextline() - continue - prev = r.step() - # Build the output - return AsmMacro(location, name, comment, args) - - -def parse_variable(r, first_word=None): - global warnings - location = r.location() - - # Skip spaces before variable name - r.skip_spaces() - # Get variable name - name = "" - # Read it if it was not supplied - if first_word is None: - while is_id(r.curr()): - name += r.step() - # Or use the supplied one instead - else: - name = first_word - # Check the name - # If it's 0 len, that means threr's something else than an - # identifier at the beginning - if len(name) == 0: - return None - # If it starts from digit or othervice illegally it's illegal - if not is_starts_as_id(name): - return None - # Get kind of the identifier from id2kind table - kind = id_get_kind(name) - # If it's a keyword, that's not a variable declaration - if ID_KIND_KEYWORD in kind: - return None - # If it's a macro name, that's not a variable declaration - if ID_KIND_MACRO_NAME in kind: - return VariableNameIsMacroName(name) - # If it's a datatype or a structure name that's not a - # variable declaration: that's just a data - # don't document just a data for now - if ID_KIND_STRUCT_NAME in kind or ID_KIND_FASM_TYPE in kind: - return None - # Skip spaces before type name - r.skip_spaces() - # Read type name - var_type = "" - while is_id(r.curr()): - var_type += r.step() - # Check the type name - if len(var_type) == 0: - # If there's no type identifier after the name - # maybe the name is something meaningful for the next parser - # return it - return name - # If it starts from digit or othervice illegally it's illegal - if not is_starts_as_id(var_type): - return None - # Get kind of type identifier - type_kind = id_get_kind(var_type) - # If it's a keyword, that's not a variable declaration - # return the two words of the lexical structure - if ID_KIND_KEYWORD in type_kind: - return (name, var_type) - # Skip spaces before the value - r.skip_spaces() - # Read the value until the comment or end of the line - value = "" - while r.curr() != ';' and r.curr() != '' and r.curr() != '\n': - value += r.step() - # Skip spaces after the value - r.skip_spaces() - # Read till end of the line to get a comment from the reader - while r.curr() != '': - r.step() - # Build the result - return AsmVariable(location, name, r.comment, var_type, value) - - -def parse_after_struct(r, as_union=True): - global warnings - location = r.location() - - # Skip spaces after "struct" keyword - r.skip_spaces() - # Read struct name - name = "" - while is_id(r.curr()): - name += r.step() - # Read till end of the line and get the comment from the reader - while r.curr() != '': - r.step() - comment = r.comment - # Get to the next line to parse struct members - r.nextline() - # Parse struct members - members = [] - while True: - r.skip_spaces() - var = parse_variable(r) - if type(var) == AsmVariable: - members.append(var) - elif type(var) == str: - if var == 'union': - # Parse the union as a struct - union = parse_after_struct(r, as_union=True) - members.append(union) - # Skip the ends of the union - r.nextline() - elif r.curr() == ':': - warnings += f"{r.location()}: Skept the label in the struct\n" - else: - raise Exception(f"Garbage in struct member at {location} " + - f" (got '{var}' identifier)") - elif type(var) == VariableNameIsMacroName: - if var.name == 'ends': - break - r.nextline() - # Return the result - if as_union: - return AsmStruct(location, name, comment, members) - else: - return AsmUnion(location, name, comment, members) - - -def parse_after_proc(r): - # Get proc name - name = r.fetch_identifier() - # Next identifier after the proc name - identifier = r.fetch_identifier() - # Check if the id is 'stdcall' or 'c' (calling convention specifier) - # and if so - save the convention and lookup the next identifier - calling_convention = '' - if identifier == 'stdcall' or identifier == 'c': - calling_convention = identifier - # If next is a comma, just skip it - if r.curr() == ',': - r.step() - # Read the next identifier - identifier = r.fetch_identifier() - # Check if the id is 'uses' (used register list specifier) - # and if so save the used register list - used_regs = [] - if identifier == 'uses': - # Read the registers - while True: - reg_name = r.fetch_identifier() - if reg_name != '': - used_regs.append(reg_name) - else: - break - # If next is a comma, just skip it - if r.curr() == ',': - r.step() - # Read the next identifier - identifier = r.fetch_identifier() - # Check if there are argument identifiers - args = [] - while identifier != '': - arg_name = identifier - arg_type = 'arg_t' - # Skip spaces after argument name - r.skip_spaces() - # If there's a ':' after the name - the next identifier is type - if r.curr() == ':': - r.step() - arg_type = r.fetch_identifier() - # If there's a comma - there's one more argument - # else no arguments anymore - if r.curr() == ',': - r.step() - identifier = r.fetch_identifier() - else: - identifier = '' - args.append((arg_name, arg_type)) - # Get to the end of the line and get a comment from the reader - while r.curr() != '': - r.step() - comment = r.comment - # Build the element - return AsmFunction(r.location(), name, comment, calling_convention, - args, used_regs) - - -def get_declarations(asm_file_contents, asm_file_name): - r = AsmReader(asm_file_name) - - while not r.no_lines(): - # Skip leading spaces - r.skip_spaces() - # Skip the line if it's starting with a comment - if r.curr() == ';': - r.nextline() - continue - # Get first word - first_word = "" - while is_id(r.curr()): - first_word += r.step() - # Match macro declaration - if first_word == "macro": - macro = parse_after_macro(r) - elements.append(macro) - id_add_kind(macro.name, ID_KIND_MACRO_NAME) - # Match structure declaration - elif first_word == "struct": - struct = parse_after_struct(r) - elements.append(struct) - id_add_kind(struct.name, ID_KIND_STRUCT_NAME) - # Match function definition - elif first_word == "proc": - proc = parse_after_proc(r) - elements.append(proc) - elif first_word == 'format': - # Skip the format directive - pass - elif first_word == 'include': - # Skip the include directive - pass - elif first_word == 'if': - # Skip the conditional directive - pass - elif first_word == 'repeat': - # Skip the repeat directive - pass - elif first_word == 'purge': - while True: - # Skip spaces after the 'purge' keyword or after - # the comma what separated the previous macro name - r.skip_spaces() - # Get the purged macro name - name = '' - while is_id(r.curr()): - name += r.step() - # Remove the purged macro from the macro names list - try: - id_remove_kind(name, ID_KIND_MACRO_NAME) - except: - pass - # Skip spaces after the name - r.skip_spaces() - # If it's comma (',') after then that's not the last purged - # macro, continue purging - if r.curr() == ',': - r.step() - continue - # Here we purged all the macros should be purged - break - # Match label or a variable - elif len(first_word) != 0: - # Skip spaces after the identifier - r.skip_spaces() - # Match a variable - var = parse_variable(r, first_word) - if type(var) == AsmVariable: - elements.append(var) - # If it wasn't a variable but there was an identifier - # Maybe that's a label and the identifier is the label name - # The parse_variable returns the first found or supplied identifier - # In this case it returns the first_word which is supplied - # If it didn't match a type identifier after the word - elif type(var) == str: - name = var - # Match label beginning (':' after name) - if r.curr() == ':': - # Get to the end of the line and - # get the coment from the reader - while r.curr() != '': - r.step() - comment = r.comment - # Only handle non-local labels - if name[0] != '.' and name != "@@" and name != "$Revision": - # Treate the label as function if there's @return or - # @param in its comment. Othervice it's just a variable - # with type `label` in generated doxygen C - if '@return' in comment or '@param' in comment: - element = AsmFunction(r.location(), name, comment, - '', [], []) - else: - element = AsmLabel(r.location(), name, comment) - elements.append(element) - elif r.curr() == '=': - # Save the identifier as a set constant - id_add_kind(first_word, ID_KIND_SET_CONSTANT) - elif type(var) == tuple: - (word_one, word_two) = var - if word_two == 'equ': - # Save the identifier as an equated constant - id_add_kind(word_one, ID_KIND_EQUATED_CONSTANT) - r.nextline() - - -def it_neds_to_be_parsed(source_file): - # If there's no symbols file saved - parse it anyway - # cause we need to create the symbols file and use it - # if we gonna generate proper doxygen - if not os.path.isfile('asmxygen.elements.pickle'): - return True - dest = doxygen_src_path + '/' + source_file - # If there's no the doxygen file it should be compiled to - # then yes, we should compile it to doxygen - if not os.path.isfile(dest): - return True - source_change_time = os.path.getmtime(source_file) - dest_change_file = os.path.getmtime(dest) - # If the source is newer than the doxygen it was compiled to - # then the source should be recompiled (existing doxygen is old) - if source_change_time > dest_change_file: - return True - return False - - -def handle_file(handled_files, asm_file_name, subdir="."): - global elements - # Canonicalize the file path and get it relative to cwd - cwd = os.path.abspath(os.path.dirname(sys.argv[0])) - asm_file_name = os.path.realpath(asm_file_name) - asm_file_name = asm_file_name[len(cwd) + 1:] - # If it's lang.inc - skip it - if asm_file_name == 'lang.inc': - return - # If the file was handled in this execution before - skip it - if asm_file_name in handled_files: - return - # Say that the file was handled in this execution - handled_files.append(asm_file_name) - # Check if the file should be parsed - # (if it was modified or wasn't parsed yet) - should_get_declarations = True - if not it_neds_to_be_parsed(asm_file_name): - print(f"Skipping {asm_file_name} (already newest)") - should_get_declarations = False - else: - print(f"Handling {asm_file_name}") - # Remove elements parsed from this file before if any - elements_to_remove = [ - x for x in elements if x.location.split(':')[0] == asm_file_name - ] - elements = [ - x for x in elements if x.location.split(':')[0] != asm_file_name - ] - # Forget types of identifiers of names of the removed elements - for element in elements_to_remove: - if type(element) == AsmStruct: - id_remove_kind(element.name, ID_KIND_STRUCT_NAME) - elif type(element) == AsmMacro: - id_remove_kind(element.name, ID_KIND_MACRO_NAME) - # Read the source - asm_file_contents = open(asm_file_name, "r", encoding="utf-8").read() - # Find includes, fix their paths and handle em recoursively - includes = re.findall(r'^include (["\'])(.*)\1', asm_file_contents, - flags=re.MULTILINE) - for include in includes: - include = include[1].replace('\\', '/') - full_path = subdir + '/' + include - # If the path isn't valid, maybe that's not relative path - if not os.path.isfile(full_path): - full_path = include - new_subdir = full_path.rsplit('/', 1)[0] - handle_file(handled_files, full_path, new_subdir) - # Only collect declarations from the file if it wasn't parsed before - if should_get_declarations and not clean_generated_stuff: - get_declarations(asm_file_contents, asm_file_name) - -if __name__ == "__main__": - link_root = "http://websvn.kolibrios.org/filedetails.php" - link_root += "?repname=Kolibri+OS&path=/kernel/trunk" - - # Dict where an identifier is assicoated with a string - # The string contains characters specifying flags - # Available flags: - # k - Keyword - # m - Macro name - # t - fasm data Type name (db, rq, etc.) - # s - Struct type name - # e - equated constant (name equ value) - # = - set constants (name = value) - ID_KIND_KEYWORD = 'k' - ID_KIND_MACRO_NAME = 'm' - ID_KIND_FASM_TYPE = 't' - ID_KIND_STRUCT_NAME = 's' - ID_KIND_EQUATED_CONSTANT = 'e' - ID_KIND_SET_CONSTANT = '=' - id2kind = {} - - for keyword in keywords: - id_add_kind(keyword, ID_KIND_KEYWORD) - - for fasm_type in fasm_types: - id_add_kind(fasm_type, ID_KIND_FASM_TYPE) - - # Warning list - warnings = "" - - # Parameters - # Path to doxygen folder to make doxygen files in: -o - doxygen_src_path = 'docs/doxygen' - # Remove generated doxygen files: --clean - clean_generated_stuff = False - # Dump all defined symbols: --dump - dump_symbols = False - # Print symbol stats: --stats - print_stats = False - # Do not write warnings file: --nowarn - enable_warnings = True - - # Parse arguments - parser = argparse.ArgumentParser() - parser.add_argument("-o", help="Doxygen output folder") - parser.add_argument("--clean", - help="Remove generated files", - action="store_true") - parser.add_argument("--dump", - help="Dump all defined symbols", - action="store_true") - parser.add_argument("--stats", - help="Print symbol stats", - action="store_true") - parser.add_argument("--nowarn", - help="Do not write warnings file", - action="store_true") - parser.add_argument("--noemit", - help="Do not emit doxygen files (for testing)", - action="store_true") - parser.add_argument("--debug", - help="Show hashes of files (for testing)", - action="store_true") - args = parser.parse_args() - doxygen_src_path = args.o if args.o else 'docs/doxygen' - clean_generated_stuff = args.clean - dump_symbols = args.dump - print_stats = args.stats - enable_warnings = not args.nowarn - noemit = args.noemit - debug_mode = args.debug - - # Variables, functions, labels, macros, structure types - elements = [] - created_files = [] - kernel_files = [] - output_files = {} # If --debug then all the files are written here - - # Load remembered list of symbols - if os.path.isfile('asmxygen.elements.pickle'): - print('Reading existing dump of symbols') - pickle_file = open('asmxygen.elements.pickle', 'rb') - (elements, id2kind) = pickle.load(pickle_file) - pickle_file.close() - - handle_file(kernel_files, "./kernel.asm") - - if dump_symbols: - stdout = sys.stdout - sys.stdout = open('asmxygen.dump.txt', 'w', encoding='utf-8') - for asm_element in elements: - asm_element.dump() - sys.stdout = stdout - - if clean_generated_stuff: - kernel_files_set = set(kernel_files) - for file in kernel_files: - doxygen_file = f"{doxygen_src_path}/{file}" - if (os.path.isfile(doxygen_file)): - print(f"Removing {file}... ", end='') - os.remove(doxygen_file) - print("Done.") - elif not noemit: - print(f"Writing doumented sources to {doxygen_src_path}") - - i = 0 - new_elements = [x for x in elements if x.new] - for element in new_elements: - counter = f"[{i + 1}/{len(new_elements)}]" - print(f"{counter} Emitting {element.name} from {element.location}") - element.emit(doxygen_src_path) - i += 1 - - print(f"Writing dump of symbols to asmxygen.elements.pickle") - - # Now when the new elements already was written, there's no new - # elements anymore - for element in elements: - element.new = False - pickle_file = open('asmxygen.elements.pickle', 'wb') - pickle.dump((elements, id2kind), pickle_file) - pickle_file.close() - - if print_stats: - var_count = 0 - mac_count = 0 - lab_count = 0 - fun_count = 0 - uni_count = 0 - str_count = 0 - for element in elements: - if type(element) == AsmVariable: - var_count += 1 - elif type(element) == AsmMacro: - mac_count += 1 - elif type(element) == AsmLabel: - lab_count += 1 - elif type(element) == AsmFunction: - fun_count += 1 - elif type(element) == AsmUnion: - uni_count += 1 - elif type(element) == AsmStruct: - str_count += 1 - print(f'Parsed variable count: {var_count}') - print(f'Parsed macro count: {mac_count}') - print(f'Parsed label count: {lab_count}') - print(f'Parsed function count: {fun_count}') - print(f'Parsed union type count: {uni_count}') - print(f'Parsed structure type count: {str_count}') - - if enable_warnings: - open('asmxygen.txt', "w", encoding="utf-8").write(warnings) - - if debug_mode: - hash_per_file = "" - for file in output_files: - h = hashlib.sha1(bytes(output_files[file], "ascii")).hexdigest() - hash_per_file += f"{file}: {h}\n" - if not os.path.exists("asmxygen_hash_per_file.txt"): - open("asmxygen_hash_per_file.txt", "w").write(hash_per_file) - print("NEW") - else: - reference_hash_per_file = open("asmxygen_hash_per_file.txt").read() - if reference_hash_per_file != hash_per_file: - diffs = difflib.ndiff(reference_hash_per_file, hash_per_file) - print(''.join(diffs)) - else: - print("SUCCESS") +import re +import os +import argparse +import sys +import pickle +import hashlib +import difflib + +# fasm keywords +keywords = [ + "align", "equ", "org", "while", "load", "store", "times", "repeat", + "display", "err", "assert", "if", "aaa", "aad", "aam", "aas", "adc", + "add", "addpd", "addps", "addsd", "addss", "addsubpd", "addsubps", "adox", + "aesdeclast", "aesenc", "aesenclast", "aesimc", "aeskeygenassist", "and", + "andnpd", "andnps", "andpd", "andps", "arpl", "bextr", "blendpd", + "blendvpd", "blendvps", "blsi", "blsmsk", "blsr", "bndcl", "bndcn", + "bndldx", "bndmk", "bndmov", "bndstx", "bound", "bsf", "bsr", "bswap", + "btc", "btr", "bts", "bzhi", "call", "cbw", "cdq", "cdqe", "clac", "clc", + "cldemote", "clflush", "clflushopt", "cli", "clts", "clwb", "cmc", "cmova", + "cmovb", "cmovbe", "cmovc", "cmove", "cmovg", "cmovge", "cmovl", "cmovle", + "cmovnae", "cmovnb", "cmovnbe", "cmovnc", "cmovne", "cmovng", "cmovnge", + "cmovnle", "cmovno", "cmovnp", "cmovns", "cmovnz", "cmovo", "cmovp", + "cmovpo", "cmovs", "cmovz", "cmp", "cmppd", "cmpps", "cmps", "cmpsb", + "cmpsd", "cmpsq", "cmpss", "cmpsw", "cmpxchg", "cmpxchg16b", "cmpxchg8b", + "comiss", "cpuid", "cqo", "crc32", "cvtdq2pd", "cvtdq2ps", "cvtpd2dq", + "cvtpd2ps", "cvtpi2pd", "cvtpi2ps", "cvtps2dq", "cvtps2pd", "cvtps2pi", + "cvtsd2ss", "cvtsi2sd", "cvtsi2ss", "cvtss2sd", "cvtss2si", "cvttpd2dq", + "cvttps2dq", "cvttps2pi", "cvttsd2si", "cvttss2si", "cwd", "cwde", "daa", + "dec", "div", "divpd", "divps", "divsd", "divss", "dppd", "dpps", "emms", + "extractps", "f2xm1", "fabs", "fadd", "faddp", "fbld", "fbstp", "fchs", + "fcmova", "fcmovae", "fcmovb", "fcmovbe", "fcmovc", "fcmove", "fcmovg", + "fcmovl", "fcmovle", "fcmovna", "fcmovnae", "fcmovnb", "fcmovnbe", + "fcmovne", "fcmovng", "fcmovnge", "fcmovnl", "fcmovnle", "fcmovno", + "fcmovns", "fcmovnz", "fcmovo", "fcmovp", "fcmovpe", "fcmovpo", "fcmovs", + "fcom", "fcomi", "fcomip", "fcomp", "fcompp", "fcos", "fdecstp", "fdiv", + "fdivr", "fdivrp", "ffree", "fiadd", "ficom", "ficomp", "fidiv", "fidivr", + "fimul", "fincstp", "finit", "fist", "fistp", "fisttp", "fisub", "fisubr", + "fld1", "fldcw", "fldenv", "fldl2e", "fldl2t", "fldlg2", "fldln2", "fldpi", + "fmul", "fmulp", "fnclex", "fninit", "fnop", "fnsave", "fnstcw", "fnstenv", + "fpatan", "fprem", "fprem1", "fptan", "frndint", "frstor", "fsave", + "fsin", "fsincos", "fsqrt", "fst", "fstcw", "fstenv", "fstp", "fstsw", + "fsubp", "fsubr", "fsubrp", "ftst", "fucom", "fucomi", "fucomip", "fucomp", + "fwait", "fxam", "fxch", "fxrstor", "fxsave", "fxtract", "fyl2x", + "gf2p8affineinvqb", "gf2p8affineqb", "gf2p8mulb", "haddpd", "haddps", + "hsubpd", "hsubps", "idiv", "imul", "in", "inc", "ins", "insb", "insd", + "insw", "int", "int1", "int3", "into", "invd", "invlpg", "invpcid", "iret", + "jmp", "ja", "jae", "jb", "jbe", "jc", "jcxz", "jecxz", "je", "jg", "jge", + "jle", "jna", "jnae", "jnb", "jnbe", "jnc", "jne", "jng", "jnge", "jnl", + "jno", "jnp", "jns", "jnz", "jo", "jp", "jpe", "jpo", "js", "jz", "kaddb", + "kaddq", "kaddw", "kandb", "kandd", "kandnb", "kandnd", "kandnq", "kandnw", + "kandw", "kmovb", "kmovd", "kmovq", "kmovw", "knotb", "knotd", "knotq", + "korb", "kord", "korq", "kortestb", "kortestd", "kortestq", "kortestw", + "kshiftlb", "kshiftld", "kshiftlq", "kshiftlw", "kshiftrb", "kshiftrd", + "kshiftrw", "ktestb", "ktestd", "ktestq", "ktestw", "kunpckbw", "kunpckdq", + "kxnorb", "kxnord", "kxnorq", "kxnorw", "kxorb", "kxord", "kxorq", "kxorw", + "lar", "lddqu", "ldmxcsr", "lds", "lea", "leave", "les", "lfence", "lfs", + "lgs", "lidt", "lldt", "lmsw", "lock", "lods", "lodsb", "lodsd", "lodsq", + "loop", "loopa", "loopae", "loopb", "loopbe", "loopc", "loope", "loopg", + "loopl", "loople", "loopna", "loopnae", "loopnb", "loopnbe", "loopnc", + "loopng", "loopnge", "loopnl", "loopnle", "loopno", "loopnp", "loopns", + "loopo", "loopp", "looppe", "looppo", "loops", "loopz", "lsl", "lss", + "lzcnt", "maskmovdqu", "maskmovq", "maxpd", "maxps", "maxsd", "maxss", + "minpd", "minps", "minsd", "minss", "monitor", "mov", "movapd", "movaps", + "movd", "movddup", "movdir64b", "movdiri", "movdq2q", "movdqa", "movdqu", + "movhpd", "movhps", "movlhps", "movlpd", "movlps", "movmskpd", "movmskps", + "movntdqa", "movnti", "movntpd", "movntps", "movntq", "movq", "movq", + "movs", "movsb", "movsd", "movsd", "movshdup", "movsldup", "movsq", + "movsw", "movsx", "movsxd", "movupd", "movups", "movzx", "mpsadbw", "mul", + "mulps", "mulsd", "mulss", "mulx", "mwait", "neg", "nop", "not", "or", + "orps", "out", "outs", "outsb", "outsd", "outsw", "pabsb", "pabsd", + "pabsw", "packssdw", "packsswb", "packusdw", "packuswb", "paddb", "paddd", + "paddsb", "paddsw", "paddusb", "paddusw", "paddw", "palignr", "pand", + "pause", "pavgb", "pavgw", "pblendvb", "pblendw", "pclmulqdq", "pcmpeqb", + "pcmpeqq", "pcmpeqw", "pcmpestri", "pcmpestrm", "pcmpgtb", "pcmpgtd", + "pcmpgtw", "pcmpistri", "pcmpistrm", "pdep", "pext", "pextrb", "pextrd", + "pextrw", "phaddd", "phaddsw", "phaddw", "phminposuw", "phsubd", "phsubsw", + "pinsrb", "pinsrd", "pinsrq", "pinsrw", "pmaddubsw", "pmaddwd", "pmaxsb", + "pmaxsq", "pmaxsw", "pmaxub", "pmaxud", "pmaxuq", "pmaxuw", "pminsb", + "pminsq", "pminsw", "pminub", "pminud", "pminuq", "pminuw", "pmovmskb", + "pmovzx", "pmuldq", "pmulhrsw", "pmulhuw", "pmulhw", "pmulld", "pmullq", + "pmuludq", "pop", "popa", "popad", "popcnt", "popf", "popfd", "popfq", + "prefetchw", "prefetchh", "psadbw", "pshufb", "pshufd", "pshufhw", + "pshufw", "psignb", "psignd", "psignw", "pslld", "pslldq", "psllq", + "psrad", "psraq", "psraw", "psrld", "psrldq", "psrlq", "psrlw", "psubb", + "psubq", "psubsb", "psubsw", "psubusb", "psubusw", "psubw", "ptest", + "punpckhbw", "punpckhdq", "punpckhqdq", "punpckhwd", "punpcklbw", + "punpcklqdq", "punpcklwd", "push", "pushw", "pushd", "pusha", "pushad", + "pushfd", "pushfq", "pxor", "rcl", "rcpps", "rcpss", "rcr", "rdfsbase", + "rdmsr", "rdpid", "rdpkru", "rdpmc", "rdrand", "rdseed", "rdtsc", "rdtscp", + "repe", "repne", "repnz", "repz", "ret", "rol", "ror", "rorx", "roundpd", + "roundsd", "roundss", "rsm", "rsqrtps", "rsqrtss", "sahf", "sal", "sar", + "sbb", "scas", "scasb", "scasd", "scasw", "seta", "setae", "setb", "setbe", + "sete", "setg", "setge", "setl", "setle", "setna", "setnae", "setnb", + "setnc", "setne", "setng", "setnge", "setnl", "setnle", "setno", "setnp", + "setnz", "seto", "setp", "setpe", "setpo", "sets", "setz", "sfence", + "sha1msg1", "sha1msg2", "sha1nexte", "sha1rnds4", "sha256msg1", + "sha256rnds2", "shl", "shld", "shlx", "shr", "shrd", "shrx", "shufpd", + "sidt", "sldt", "smsw", "sqrtpd", "sqrtps", "sqrtsd", "sqrtss", "stac", + "std", "sti", "stmxcsr", "stos", "stosb", "stosd", "stosq", "stosw", "str", + "subpd", "subps", "subsd", "subss", "swapgs", "syscall", "sysenter", + "sysret", "test", "tpause", "tzcnt", "ucomisd", "ucomiss", "ud", + "umwait", "unpckhpd", "unpckhps", "unpcklpd", "unpcklps", "valignd", + "vblendmpd", "vblendmps", "vbroadcast", "vcompresspd", "vcompressps", + "vcvtpd2udq", "vcvtpd2uqq", "vcvtph2ps", "vcvtps2ph", "vcvtps2qq", + "vcvtps2uqq", "vcvtqq2pd", "vcvtqq2ps", "vcvtsd2usi", "vcvtss2usi", + "vcvttpd2udq", "vcvttpd2uqq", "vcvttps2qq", "vcvttps2udq", "vcvttps2uqq", + "vcvttss2usi", "vcvtudq2pd", "vcvtudq2ps", "vcvtuqq2pd", "vcvtuqq2ps", + "vcvtusi2ss", "vdbpsadbw", "verr", "verw", "vexpandpd", "vexpandps", + "vextractf32x4", "vextractf32x8", "vextractf64x2", "vextractf64x4", + "vextracti32x4", "vextracti32x8", "vextracti64x2", "vextracti64x4", + "vfixupimmps", "vfixupimmsd", "vfixupimmss", "vfmadd132pd", "vfmadd132ps", + "vfmadd132ss", "vfmadd213pd", "vfmadd213ps", "vfmadd213sd", "vfmadd213ss", + "vfmadd231ps", "vfmadd231sd", "vfmadd231ss", "vfmaddsub132pd", + "vfmaddsub213pd", "vfmaddsub213ps", "vfmaddsub231pd", "vfmaddsub231ps", + "vfmsub132ps", "vfmsub132sd", "vfmsub132ss", "vfmsub213pd", "vfmsub213ps", + "vfmsub213ss", "vfmsub231pd", "vfmsub231ps", "vfmsub231sd", "vfmsub231ss", + "vfmsubadd132ps", "vfmsubadd213pd", "vfmsubadd213ps", "vfmsubadd231pd", + "vfnmadd132pd", "vfnmadd132ps", "vfnmadd132sd", "vfnmadd132ss", + "vfnmadd213ps", "vfnmadd213sd", "vfnmadd213ss", "vfnmadd231pd", + "vfnmadd231sd", "vfnmadd231ss", "vfnmsub132pd", "vfnmsub132ps", + "vfnmsub132ss", "vfnmsub213pd", "vfnmsub213ps", "vfnmsub213sd", + "vfnmsub231pd", "vfnmsub231ps", "vfnmsub231sd", "vfnmsub231ss", + "vfpclassps", "vfpclasssd", "vfpclassss", "vgatherdpd", "vgatherdpd", + "vgatherdps", "vgatherqpd", "vgatherqpd", "vgatherqps", "vgatherqps", + "vgetexpps", "vgetexpsd", "vgetexpss", "vgetmantpd", "vgetmantps", + "vgetmantss", "vinsertf128", "vinsertf32x4", "vinsertf32x8", + "vinsertf64x4", "vinserti128", "vinserti32x4", "vinserti32x8", + "vinserti64x4", "vmaskmov", "vmovdqa32", "vmovdqa64", "vmovdqu16", + "vmovdqu64", "vmovdqu8", "vpblendd", "vpblendmb", "vpblendmd", "vpblendmq", + "vpbroadcast", "vpbroadcastb", "vpbroadcastd", "vpbroadcastm", + "vpbroadcastw", "vpcmpb", "vpcmpd", "vpcmpq", "vpcmpub", "vpcmpud", + "vpcmpuw", "vpcmpw", "vpcompressd", "vpcompressq", "vpconflictd", + "vperm2f128", "vperm2i128", "vpermb", "vpermd", "vpermi2b", "vpermi2d", + "vpermi2ps", "vpermi2q", "vpermi2w", "vpermilpd", "vpermilps", "vpermpd", + "vpermq", "vpermt2b", "vpermt2d", "vpermt2pd", "vpermt2ps", "vpermt2q", + "vpermw", "vpexpandd", "vpexpandq", "vpgatherdd", "vpgatherdd", + "vpgatherdq", "vpgatherqd", "vpgatherqd", "vpgatherqq", "vpgatherqq", + "vplzcntq", "vpmadd52huq", "vpmadd52luq", "vpmaskmov", "vpmovb2m", + "vpmovdb", "vpmovdw", "vpmovm2b", "vpmovm2d", "vpmovm2q", "vpmovm2w", + "vpmovqb", "vpmovqd", "vpmovqw", "vpmovsdb", "vpmovsdw", "vpmovsqb", + "vpmovsqw", "vpmovswb", "vpmovusdb", "vpmovusdw", "vpmovusqb", "vpmovusqd", + "vpmovuswb", "vpmovw2m", "vpmovwb", "vpmultishiftqb", "vprold", "vprolq", + "vprolvq", "vprord", "vprorq", "vprorvd", "vprorvq", "vpscatterdd", + "vpscatterqd", "vpscatterqq", "vpsllvd", "vpsllvq", "vpsllvw", "vpsravd", + "vpsravw", "vpsrlvd", "vpsrlvq", "vpsrlvw", "vpternlogd", "vpternlogq", + "vptestmd", "vptestmq", "vptestmw", "vptestnmb", "vptestnmd", "vptestnmq", + "vrangepd", "vrangeps", "vrangesd", "vrangess", "vrcp14pd", "vrcp14ps", + "vrcp14ss", "vreducepd", "vreduceps", "vreducesd", "vreducess", + "vrndscaleps", "vrndscalesd", "vrndscaless", "vrsqrt14pd", "vrsqrt14ps", + "vrsqrt14ss", "vscalefpd", "vscalefps", "vscalefsd", "vscalefss", + "vscatterdps", "vscatterqpd", "vscatterqps", "vshuff32x4", "vshuff64x2", + "vshufi64x2", "vtestpd", "vtestps", "vzeroall", "vzeroupper", "wait", + "wrfsbase", "wrgsbase", "wrmsr", "wrpkru", "xabort", "xacquire", "xadd", + "xchg", "xend", "xgetbv", "xlat", "xlatb", "xor", "xorpd", "xorps", + "xrstor", "xrstors", "xsave", "xsavec", "xsaveopt", "xsaves", "xsetbv", +] + +fasm_types = [ + "db", "rb", + "dw", "rw", + "dd", "rd", + "dp", "rp", + "df", "rf", + "dq", "rq", + "dt", "rt", + "du", +] + + +# Add kind flag to identifier in id2kind +def id_add_kind(identifier, kind): + if identifier not in id2kind: + id2kind[identifier] = '' + id2kind[identifier] += kind + + +# Remove kind flag of identifier in id2kind +def id_remove_kind(identifier, kind): + if identifier in id2kind: + if kind in id2kind[identifier]: + id2kind[identifier] = id2kind[identifier].replace(kind, '') + + +# Get kind of an identifier +def id_get_kind(identifier): + if identifier in id2kind: + return id2kind[identifier] + else: + return '' + + +class LegacyAsmReader: + def __init__(self, file): + self.file = file + self.lines = open(file, "r", encoding="utf-8").readlines() + self.line_idx = 0 + self.i = 0 + + def currline(self): + return self.lines[self.line_idx] + + def curr(self): + try: + return self.lines[self.line_idx][self.i] + except: + return '' + + def step(self): + c = self.curr() + self.i += 1 + # Wrap the line if '\\' followed by whitespaces and/or comment + while self.curr() == '\\': + i_of_backslash = self.i + self.i += 1 + while self.curr().isspace(): + self.i += 1 + if self.curr() == ';' or self.curr() == '': + self.line_idx += 1 + self.i = 0 + else: + # There's something other than a comment after the backslash + # So don't interpret the backslash as a line wrap + self.i = i_of_backslash + break + return c + + def nextline(self): + c = self.curr() + while c != '': + c = self.step() + self.line_idx += 1 + self.i = 0 + + def no_lines(self): + if self.line_idx >= len(self.lines): + return True + return False + + def location(self): + return f"{self.file}:{self.line_idx + 1}" + + def skip_spaces(self): + while self.curr().isspace(): + self.step() + + +class AsmReaderRecognizingStrings(LegacyAsmReader): + def __init__(self, file): + super().__init__(file) + self.in_string = None + self.should_recognize_strings = True + + def step(self): + c = super().step() + if self.should_recognize_strings and (c == '"' or c == "'"): + # If just now we was at the double or single quotation mark + # and we aren't in a string yet then say + # "we are in a string openned with this quotation mark now" + if self.in_string is None: + self.in_string = c + # If just now we was at the double or single quotation mark + # and we are in the string entered with the same quotation mark + # then say "we aren't in a string anymore" + elif self.in_string == c: + self.in_string = None + return c + + +class AsmReaderReadingComments(AsmReaderRecognizingStrings): + def __init__(self, file): + super().__init__(file) + self.status = dict() + self.status_reset() + self.comment = '' + + def status_reset(self): + # If the line has non-comment code + self.status_has_code = False + # If the line has a comment at the end + self.status_has_comment = False + # Let it recognize strings further, we are definitely out of a comment + self.should_recognize_strings = True + + def status_set_has_comment(self): + self.status_has_comment = True + # Don't let it recognize strings cause we are in a comment now + self.should_recognize_strings = False + + def status_set_has_code(self): + self.status_has_code = True + + def update_status(self): + # If we aren't in a comment and we aren't in a string - + # say we are now in a comment if ';' met + if (not self.status_has_comment and + not self.in_string and + self.curr() == ';'): + self.status_set_has_comment() + # Else if we are in a comment - collect the comment + elif self.status_has_comment: + self.comment += self.curr() + # Else if there's some non-whitespace character out of a comment + # then the line has code + elif not self.status_has_comment and not self.curr().isspace(): + self.status_set_has_code() + + def step(self): + # Get to the next character + c = super().step() + # Update status of the line according to the next character + self.update_status() + return c + + def nextline(self): + prev_line = self.currline() + super().nextline() + # If the line we leave was not a comment-only line + # then forget the collected comment + # Otherwise the collected comment should be complemented by + # comment from next line in step() + if self.status_has_code: + # But we should preserve comment for the next line + # If previous line set align (cause many functions re documented + # right before align set, not before their labels) + if not prev_line.startswith("align "): + self.comment = '' + # Reset the line status (now it's the status of the new line) + self.status_reset() + # Set new status for this line according to the + # first character in the line + self.update_status() + + +class AsmReaderFetchingIdentifiers(AsmReaderReadingComments): + def __init__(self, file): + super().__init__(file) + + def fetch_identifier(self): + self.skip_spaces() + result = '' + while is_id(self.curr()): + result += self.step() + return result + + +class AsmReader(AsmReaderFetchingIdentifiers): + def __init__(self, file): + super().__init__(file) + + +def append_file(full_path, contents): + if debug_mode: + if full_path not in output_files: + output_files[full_path] = "" + output_files[full_path] += contents + else: + f = open(full_path, "a") + f.write(contents) + f.close() + + +class AsmElement: + def __init__(self, location, name, comment): + global warnings + + # If the element was constructed during this execution then + # the element is new + self.new = True + self.location = location + self.file = self.location.split(':')[0].replace('\\', '/') + self.line = self.location.split(':')[1] + self.name = name + self.comment = comment + + if self.comment == '': + warnings += f'{self.location}: Undocumented element\n' + + def dump(self): + print(f"\n{self.location}: {self.name}") + print(f"{self.comment}") + + def emit(self, dest, doxycomment='', declaration=''): + # Do not emit anything if the symbol is marked as hidden in its comment + if '@dont_give_a_doxygen' in self.comment: + return + + global warnings + # Redefine default declaration + if declaration == '': + declaration = f'#define {self.name}' + # Check doxycomment + if not doxycomment.endswith('\n'): + doxycomment += '\n' + if doxycomment.split('@brief ')[1][0].islower(): + warnings += (f"{self.location}: Brief comment starting from " + + "lowercase\n") + # Build contents to emit + contents = '' + contents += '/**\n' + contents += doxycomment + contents += (f"@par Source\n" + + f"{self.file}:{self.line}\n") + contents += '*/\n' + contents += declaration + contents += '\n\n' + # Get path to file to emit this + full_path = dest + '/' + self.file + # Remove the file on first access if it was + # created by previous generation + if full_path not in created_files: + if os.path.isfile(full_path): + os.remove(full_path) + created_files.append(full_path) + # Create directories need for the file + os.makedirs(os.path.dirname(full_path), exist_ok=True) + contents = ''.join([i if ord(i) < 128 else '?' for i in contents]) + + append_file(full_path, contents) + + +class AsmVariable(AsmElement): + def __init__(self, location, name, comment, type, init): + super().__init__(location, name, comment) + self.type = type + self.init = init + + def dump(self): + super().dump() + print(f"(Variable)\n---") + + def emit(self, dest): + # Build doxycomment specific for the variable + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + doxycomment += (f"@par Initial value\n" + + f"{self.init}\n") + # Build the declaration + name = self.name.replace(".", "_") + var_type = self.type.replace(".", "_") + declaration = f"{var_type} {name};" + # Emit this + super().emit(dest, doxycomment, declaration) + + +class AsmFunction(AsmElement): + def __init__(self, location, name, comment, calling_convention, + args, used_regs): + super().__init__(location, name, comment) + self.calling_convention = calling_convention + self.args = args + self.used_regs = used_regs + + def dump(self): + super().dump() + print(f"(Function)\n---") + + def emit(self, dest): + # Build doxycomment specific for the variable + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + # If there was no arguments, maybe that's just a label + # then parse parameters from its comment + if len(self.args) == 0 and '@param' in self.comment: + i = 0 + while '@param' in self.comment[i:]: + i = self.comment.index('@param', i) + # Skip '@param' + i += len('@param') + # Skip spaces after '@param' + while self.comment[i].isspace(): + i += 1 + # Get the parameter name + name = '' + while is_id(self.comment[i]): + name += self.comment[i] + i += 1 + # Save the parameter + self.args.append((name, 'arg_t')) + # Build the arg list for declaration + arg_list = '(' + if len(self.args) > 0: + argc = 0 + for arg in self.args: + if argc != 0: + arg_list += ", " + arg_list += f"{arg[1]} {arg[0]}" + argc += 1 + arg_list += ')' + # Build the declaration + name = self.name.replace(".", "_") + declaration = f"void {name}{arg_list};" + # Emit this + super().emit(dest, doxycomment, declaration) + + +class AsmLabel(AsmElement): + def __init__(self, location, name, comment): + super().__init__(location, name, comment) + + def dump(self): + super().dump() + print(f"(Label)\n---") + + def emit(self, dest): + # Build doxycomment specific for the variable + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + # Build the declaration + name = self.name.replace(".", "_") + declaration = f"label {name};" + # Emit this + super().emit(dest, doxycomment, declaration) + + +class AsmMacro(AsmElement): + def __init__(self, location, name, comment, args): + super().__init__(location, name, comment) + self.args = args + + def dump(self): + super().dump() + print(f"(Macro)\n---") + + def emit(self, dest): + # Construct arg list without '['s, ']'s and '*'s + args = [arg for arg in self.args if arg not in "[]*"] + # Construct C-like arg list + arg_list = "" + if len(args) > 0: + arg_list += '(' + argc = 0 + for arg in args: + if argc != 0: + arg_list += ", " + arg_list += arg + argc += 1 + arg_list += ')' + # Build doxycomment + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + # Build declaration + declaration = f"#define {self.name}{arg_list}" + # Emit this + super().emit(dest, doxycomment, declaration) + + +class AsmStruct(AsmElement): + def __init__(self, location, name, comment, members): + super().__init__(location, name, comment) + self.members = members + + def dump(self): + super().dump() + print(f"(Struct)\n---") + + def emit(self, dest): + # Build doxycomment + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + doxycomment += '\n' + # Build declaration + declaration = f"struct {self.name}" + " {\n" + for member in self.members: + if type(member) == AsmVariable: + declaration += (f'\t{member.type} {member.name}; ' + + f'/**< {member.comment} */\n') + declaration += '};' + # Emit this + super().emit(dest, doxycomment, declaration) + + +class AsmUnion(AsmElement): + def __init__(self, location, name, comment, members): + super().__init__(location, name, comment) + self.members = members + + def dump(self): + super().dump() + print(f"(Union)\n---") + + def emit(self, dest): + # Build doxycomment + doxycomment = '' + doxycomment += self.comment + if '@brief' not in doxycomment: + doxycomment = '@brief ' + doxycomment + # Build declaration + declaration = f"union {self.name}" + " {};" + # Emit this + super().emit(dest, doxycomment, declaration) + + +class VariableNameIsMacroName: + def __init__(self, name): + self.name = name + + +def is_id(c): + return c.isprintable() and c not in "+-/*=<>()[]{};:,|&~#`'\" \n\r\t\v" + + +def is_starts_as_id(s): + return not s[0].isdigit() + + +def parse_after_macro(r): + location = r.location() + + # Skip spaces after the "macro" keyword + r.skip_spaces() + # Read macro name + name = "" + while is_id(r.curr()) or r.curr() == '#': + name += r.step() + # Skip spaces after macro name + r.skip_spaces() + # Find all arguments + args = [] + arg = '' + while r.curr() and r.curr() != ';' and r.curr() != '{': + # Collect identifier + if is_id(r.curr()): + arg += r.step() + # Save the collected identifier + elif r.curr() == ',': + args.append(arg) + arg = '' + r.step() + # Just push the '[' + elif r.curr() == '[': + args.append(r.step()) + # Just push the identifier and get ']' ready to be pushed on next comma + elif r.curr() == ']': + args.append(arg) + arg = r.step() + # Just push the identifier and get '*' ready to be pushed on next comma + elif r.curr() == '*': + args.append(arg) + arg = r.step() + # Just skip whitespaces + elif r.curr().isspace(): + r.step() + # Something unexpected + else: + raise Exception(f"Unexpected symbol '{r.curr()}' " + + f"at index #{r.i} in the macro declaration " + + f"at {location} " + + f"(line: {r.lines[r.line_idx]})\n''") + # Append the last argument + if arg != '': + args.append(arg) + # Skip t spaces after the argument list + r.skip_spaces() + # Get a comment if it is: read till the end of the line and + # get the comment from the reader + while r.curr() != '': + r.step() + comment = r.comment + # Find end of the macro + prev = '' + while True: + if r.curr() == '}' and prev != '\\': + break + elif r.curr() == '': + prev = '' + r.nextline() + continue + prev = r.step() + # Build the output + return AsmMacro(location, name, comment, args) + + +def parse_variable(r, first_word=None): + global warnings + location = r.location() + + # Skip spaces before variable name + r.skip_spaces() + # Get variable name + name = "" + # Read it if it was not supplied + if first_word is None: + while is_id(r.curr()): + name += r.step() + # Or use the supplied one instead + else: + name = first_word + # Check the name + # If it's 0 len, that means threr's something else than an + # identifier at the beginning + if len(name) == 0: + return None + # If it starts from digit or othervice illegally it's illegal + if not is_starts_as_id(name): + return None + # Get kind of the identifier from id2kind table + kind = id_get_kind(name) + # If it's a keyword, that's not a variable declaration + if ID_KIND_KEYWORD in kind: + return None + # If it's a macro name, that's not a variable declaration + if ID_KIND_MACRO_NAME in kind: + return VariableNameIsMacroName(name) + # If it's a datatype or a structure name that's not a + # variable declaration: that's just a data + # don't document just a data for now + if ID_KIND_STRUCT_NAME in kind or ID_KIND_FASM_TYPE in kind: + return None + # Skip spaces before type name + r.skip_spaces() + # Read type name + var_type = "" + while is_id(r.curr()): + var_type += r.step() + # Check the type name + if len(var_type) == 0: + # If there's no type identifier after the name + # maybe the name is something meaningful for the next parser + # return it + return name + # If it starts from digit or othervice illegally it's illegal + if not is_starts_as_id(var_type): + return None + # Get kind of type identifier + type_kind = id_get_kind(var_type) + # If it's a keyword, that's not a variable declaration + # return the two words of the lexical structure + if ID_KIND_KEYWORD in type_kind: + return (name, var_type) + # Skip spaces before the value + r.skip_spaces() + # Read the value until the comment or end of the line + value = "" + while r.curr() != ';' and r.curr() != '' and r.curr() != '\n': + value += r.step() + # Skip spaces after the value + r.skip_spaces() + # Read till end of the line to get a comment from the reader + while r.curr() != '': + r.step() + # Build the result + return AsmVariable(location, name, r.comment, var_type, value) + + +def parse_after_struct(r, as_union=True): + global warnings + location = r.location() + + # Skip spaces after "struct" keyword + r.skip_spaces() + # Read struct name + name = "" + while is_id(r.curr()): + name += r.step() + # Read till end of the line and get the comment from the reader + while r.curr() != '': + r.step() + comment = r.comment + # Get to the next line to parse struct members + r.nextline() + # Parse struct members + members = [] + while True: + r.skip_spaces() + var = parse_variable(r) + if type(var) == AsmVariable: + members.append(var) + elif type(var) == str: + if var == 'union': + # Parse the union as a struct + union = parse_after_struct(r, as_union=True) + members.append(union) + # Skip the ends of the union + r.nextline() + elif r.curr() == ':': + warnings += f"{r.location()}: Skept the label in the struct\n" + else: + raise Exception(f"Garbage in struct member at {location} " + + f" (got '{var}' identifier)") + elif type(var) == VariableNameIsMacroName: + if var.name == 'ends': + break + r.nextline() + # Return the result + if as_union: + return AsmStruct(location, name, comment, members) + else: + return AsmUnion(location, name, comment, members) + + +def parse_after_proc(r): + # Get proc name + name = r.fetch_identifier() + # Next identifier after the proc name + identifier = r.fetch_identifier() + # Check if the id is 'stdcall' or 'c' (calling convention specifier) + # and if so - save the convention and lookup the next identifier + calling_convention = '' + if identifier == 'stdcall' or identifier == 'c': + calling_convention = identifier + # If next is a comma, just skip it + if r.curr() == ',': + r.step() + # Read the next identifier + identifier = r.fetch_identifier() + # Check if the id is 'uses' (used register list specifier) + # and if so save the used register list + used_regs = [] + if identifier == 'uses': + # Read the registers + while True: + reg_name = r.fetch_identifier() + if reg_name != '': + used_regs.append(reg_name) + else: + break + # If next is a comma, just skip it + if r.curr() == ',': + r.step() + # Read the next identifier + identifier = r.fetch_identifier() + # Check if there are argument identifiers + args = [] + while identifier != '': + arg_name = identifier + arg_type = 'arg_t' + # Skip spaces after argument name + r.skip_spaces() + # If there's a ':' after the name - the next identifier is type + if r.curr() == ':': + r.step() + arg_type = r.fetch_identifier() + # If there's a comma - there's one more argument + # else no arguments anymore + if r.curr() == ',': + r.step() + identifier = r.fetch_identifier() + else: + identifier = '' + args.append((arg_name, arg_type)) + # Get to the end of the line and get a comment from the reader + while r.curr() != '': + r.step() + comment = r.comment + # Build the element + return AsmFunction(r.location(), name, comment, calling_convention, + args, used_regs) + + +def get_declarations(asm_file_contents, asm_file_name): + r = AsmReader(asm_file_name) + + while not r.no_lines(): + # Skip leading spaces + r.skip_spaces() + # Skip the line if it's starting with a comment + if r.curr() == ';': + r.nextline() + continue + # Get first word + first_word = "" + while is_id(r.curr()): + first_word += r.step() + # Match macro declaration + if first_word == "macro": + macro = parse_after_macro(r) + elements.append(macro) + id_add_kind(macro.name, ID_KIND_MACRO_NAME) + # Match structure declaration + elif first_word == "struct": + struct = parse_after_struct(r) + elements.append(struct) + id_add_kind(struct.name, ID_KIND_STRUCT_NAME) + # Match function definition + elif first_word == "proc": + proc = parse_after_proc(r) + elements.append(proc) + elif first_word == 'format': + # Skip the format directive + pass + elif first_word == 'include': + # Skip the include directive + pass + elif first_word == 'if': + # Skip the conditional directive + pass + elif first_word == 'repeat': + # Skip the repeat directive + pass + elif first_word == 'purge': + while True: + # Skip spaces after the 'purge' keyword or after + # the comma what separated the previous macro name + r.skip_spaces() + # Get the purged macro name + name = '' + while is_id(r.curr()): + name += r.step() + # Remove the purged macro from the macro names list + try: + id_remove_kind(name, ID_KIND_MACRO_NAME) + except: + pass + # Skip spaces after the name + r.skip_spaces() + # If it's comma (',') after then that's not the last purged + # macro, continue purging + if r.curr() == ',': + r.step() + continue + # Here we purged all the macros should be purged + break + # Match label or a variable + elif len(first_word) != 0: + # Skip spaces after the identifier + r.skip_spaces() + # Match a variable + var = parse_variable(r, first_word) + if type(var) == AsmVariable: + elements.append(var) + # If it wasn't a variable but there was an identifier + # Maybe that's a label and the identifier is the label name + # The parse_variable returns the first found or supplied identifier + # In this case it returns the first_word which is supplied + # If it didn't match a type identifier after the word + elif type(var) == str: + name = var + # Match label beginning (':' after name) + if r.curr() == ':': + # Get to the end of the line and + # get the coment from the reader + while r.curr() != '': + r.step() + comment = r.comment + # Only handle non-local labels + if name[0] != '.' and name != "@@": + # Treat the label as function if there's @return or + # @param in its comment. Otherwise it's just a variable + # with type `label` in generated doxygen C + if '@return' in comment or '@param' in comment: + element = AsmFunction(r.location(), name, comment, + '', [], []) + else: + element = AsmLabel(r.location(), name, comment) + elements.append(element) + elif r.curr() == '=': + # Save the identifier as a set constant + id_add_kind(first_word, ID_KIND_SET_CONSTANT) + elif type(var) == tuple: + (word_one, word_two) = var + if word_two == 'equ': + # Save the identifier as an equated constant + id_add_kind(word_one, ID_KIND_EQUATED_CONSTANT) + r.nextline() + + +def it_neds_to_be_parsed(source_file): + # If there's no symbols file saved - parse it anyway + # cause we need to create the symbols file and use it + # if we gonna generate proper doxygen + if not os.path.isfile('asmxygen.elements.pickle'): + return True + dest = doxygen_src_path + '/' + source_file + # If there's no the doxygen file it should be compiled to + # then yes, we should compile it to doxygen + if not os.path.isfile(dest): + return True + source_change_time = os.path.getmtime(source_file) + dest_change_file = os.path.getmtime(dest) + # If the source is newer than the doxygen it was compiled to + # then the source should be recompiled (existing doxygen is old) + if source_change_time > dest_change_file: + return True + return False + + +def handle_file(handled_files, asm_file_name, subdir="."): + global elements + # Canonicalize the file path and get it relative to cwd + cwd = os.path.abspath(os.path.dirname(sys.argv[0])) + asm_file_name = os.path.realpath(asm_file_name) + asm_file_name = asm_file_name[len(cwd) + 1:] + # If it's lang.inc - skip it + if asm_file_name == 'lang.inc': + return + # If the file was handled in this execution before - skip it + if asm_file_name in handled_files: + return + # Say that the file was handled in this execution + handled_files.append(asm_file_name) + # Check if the file should be parsed + # (if it was modified or wasn't parsed yet) + should_get_declarations = True + if not it_neds_to_be_parsed(asm_file_name): + print(f"Skipping {asm_file_name} (already newest)") + should_get_declarations = False + else: + print(f"Handling {asm_file_name}") + # Remove elements parsed from this file before if any + elements_to_remove = [ + x for x in elements if x.location.split(':')[0] == asm_file_name + ] + elements = [ + x for x in elements if x.location.split(':')[0] != asm_file_name + ] + # Forget types of identifiers of names of the removed elements + for element in elements_to_remove: + if type(element) == AsmStruct: + id_remove_kind(element.name, ID_KIND_STRUCT_NAME) + elif type(element) == AsmMacro: + id_remove_kind(element.name, ID_KIND_MACRO_NAME) + # Read the source + asm_file_contents = open(asm_file_name, "r", encoding="utf-8").read() + # Find includes, fix their paths and handle em recoursively + includes = re.findall(r'^include (["\'])(.*)\1', asm_file_contents, + flags=re.MULTILINE) + for include in includes: + include = include[1].replace('\\', '/') + full_path = subdir + '/' + include + # If the path isn't valid, maybe that's not relative path + if not os.path.isfile(full_path): + full_path = include + new_subdir = full_path.rsplit('/', 1)[0] + handle_file(handled_files, full_path, new_subdir) + # Only collect declarations from the file if it wasn't parsed before + if should_get_declarations and not clean_generated_stuff: + get_declarations(asm_file_contents, asm_file_name) + +if __name__ == "__main__": + link_root = "http://websvn.kolibrios.org/filedetails.php" + link_root += "?repname=Kolibri+OS&path=/kernel/trunk" + + # Dict where an identifier is assicoated with a string + # The string contains characters specifying flags + # Available flags: + # k - Keyword + # m - Macro name + # t - fasm data Type name (db, rq, etc.) + # s - Struct type name + # e - equated constant (name equ value) + # = - set constants (name = value) + ID_KIND_KEYWORD = 'k' + ID_KIND_MACRO_NAME = 'm' + ID_KIND_FASM_TYPE = 't' + ID_KIND_STRUCT_NAME = 's' + ID_KIND_EQUATED_CONSTANT = 'e' + ID_KIND_SET_CONSTANT = '=' + id2kind = {} + + for keyword in keywords: + id_add_kind(keyword, ID_KIND_KEYWORD) + + for fasm_type in fasm_types: + id_add_kind(fasm_type, ID_KIND_FASM_TYPE) + + # Warning list + warnings = "" + + # Parameters + # Path to doxygen folder to make doxygen files in: -o + doxygen_src_path = 'docs/doxygen' + # Remove generated doxygen files: --clean + clean_generated_stuff = False + # Dump all defined symbols: --dump + dump_symbols = False + # Print symbol stats: --stats + print_stats = False + # Do not write warnings file: --nowarn + enable_warnings = True + + # Parse arguments + parser = argparse.ArgumentParser() + parser.add_argument("-o", help="Doxygen output folder") + parser.add_argument("--clean", + help="Remove generated files", + action="store_true") + parser.add_argument("--dump", + help="Dump all defined symbols", + action="store_true") + parser.add_argument("--stats", + help="Print symbol stats", + action="store_true") + parser.add_argument("--nowarn", + help="Do not write warnings file", + action="store_true") + parser.add_argument("--noemit", + help="Do not emit doxygen files (for testing)", + action="store_true") + parser.add_argument("--debug", + help="Show hashes of files (for testing)", + action="store_true") + args = parser.parse_args() + doxygen_src_path = args.o if args.o else 'docs/doxygen' + clean_generated_stuff = args.clean + dump_symbols = args.dump + print_stats = args.stats + enable_warnings = not args.nowarn + noemit = args.noemit + debug_mode = args.debug + + # Variables, functions, labels, macros, structure types + elements = [] + created_files = [] + kernel_files = [] + output_files = {} # If --debug then all the files are written here + + # Load remembered list of symbols + if os.path.isfile('asmxygen.elements.pickle'): + print('Reading existing dump of symbols') + pickle_file = open('asmxygen.elements.pickle', 'rb') + (elements, id2kind) = pickle.load(pickle_file) + pickle_file.close() + + handle_file(kernel_files, "./kernel.asm") + + if dump_symbols: + stdout = sys.stdout + sys.stdout = open('asmxygen.dump.txt', 'w', encoding='utf-8') + for asm_element in elements: + asm_element.dump() + sys.stdout = stdout + + if clean_generated_stuff: + kernel_files_set = set(kernel_files) + for file in kernel_files: + doxygen_file = f"{doxygen_src_path}/{file}" + if (os.path.isfile(doxygen_file)): + print(f"Removing {file}... ", end='') + os.remove(doxygen_file) + print("Done.") + elif not noemit: + print(f"Writing doumented sources to {doxygen_src_path}") + + i = 0 + new_elements = [x for x in elements if x.new] + for element in new_elements: + counter = f"[{i + 1}/{len(new_elements)}]" + print(f"{counter} Emitting {element.name} from {element.location}") + element.emit(doxygen_src_path) + i += 1 + + print(f"Writing dump of symbols to asmxygen.elements.pickle") + + # Now when the new elements already was written, there's no new + # elements anymore + for element in elements: + element.new = False + pickle_file = open('asmxygen.elements.pickle', 'wb') + pickle.dump((elements, id2kind), pickle_file) + pickle_file.close() + + if print_stats: + var_count = 0 + mac_count = 0 + lab_count = 0 + fun_count = 0 + uni_count = 0 + str_count = 0 + for element in elements: + if type(element) == AsmVariable: + var_count += 1 + elif type(element) == AsmMacro: + mac_count += 1 + elif type(element) == AsmLabel: + lab_count += 1 + elif type(element) == AsmFunction: + fun_count += 1 + elif type(element) == AsmUnion: + uni_count += 1 + elif type(element) == AsmStruct: + str_count += 1 + print(f'Parsed variable count: {var_count}') + print(f'Parsed macro count: {mac_count}') + print(f'Parsed label count: {lab_count}') + print(f'Parsed function count: {fun_count}') + print(f'Parsed union type count: {uni_count}') + print(f'Parsed structure type count: {str_count}') + + if enable_warnings: + open('asmxygen.txt', "w", encoding="utf-8").write(warnings) + + if debug_mode: + hash_per_file = "" + for file in output_files: + h = hashlib.sha1(bytes(output_files[file], "ascii")).hexdigest() + hash_per_file += f"{file}: {h}\n" + if not os.path.exists("asmxygen_hash_per_file.txt"): + open("asmxygen_hash_per_file.txt", "w").write(hash_per_file) + print("NEW") + else: + reference_hash_per_file = open("asmxygen_hash_per_file.txt").read() + if reference_hash_per_file != hash_per_file: + diffs = difflib.ndiff(reference_hash_per_file, hash_per_file) + print(''.join(diffs)) + else: + print("SUCCESS") diff --git a/kernel/trunk/blkdev/ahci.inc b/kernel/trunk/blkdev/ahci.inc index 79493f365..6b71c30ec 100644 --- a/kernel/trunk/blkdev/ahci.inc +++ b/kernel/trunk/blkdev/ahci.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ PCI_REG_STATUS_COMMAND = 0x0004 PCI_REG_BAR5 = 0x0024 @@ -45,11 +44,11 @@ bit_AHCI_HBA_CAP2_BOH = 0 ; Supports BIOS/OS Handoff bit_AHCI_HBA_BOHC_BOS = 0 ; BIOS-Owned Semaphore (BIOS owns controller) bit_AHCI_HBA_BOHC_OOS = 1 ; OS-Owned Semaphore (OS owns controller) -bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up +bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up bit_AHCI_HBA_GHC_AHCI_ENABLE = 31 ; Enable AHCI mode bit_AHCI_HBA_GHC_RESET = 0 ; Reset HBA -bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA +bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA bit_AHCI_HBA_PxCMD_ST = 0 bit_AHCI_HBA_PxCMD_FRE = 4 @@ -97,7 +96,7 @@ struct HBA_MEM cap2 dd ? ; 0x24, Host capabilities extended bohc dd ? ; 0x28, BIOS/OS handoff control and status reserved rb (0xA0-HBA_MEM.reserved) ; 0x2C - 0x9F, Reserved - vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific + vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific ports rb (sizeof.HBA_PORT*AHCI_MAX_PORTS) ; 0x100 - 0x10FF, Port control registers, max AHCI_MAX_PORTS ends @@ -128,10 +127,10 @@ ends struct HBA_CMD_HDR flags1 db ? ; 0bPWACCCCC, P - Prefetchable, W - Write (1: H2D, 0: D2H) ; A - ATAPI, C - Command FIS length in DWORDS, 2 ~ 16 - + flags2 db ? ; 0bPPPPRCB(Re), P - Port multiplier port, R - Reserved, ; C - Clear busy upon R_OK, B - BIST, Re - Reset - + prdtl dw ? ; Physical region descriptor table length in entries prdbc dd ? ; Physical region descriptor byte count transferred ctba dd ? ; Command table descriptor base address @@ -173,52 +172,52 @@ struct FIS_REG_H2D fis_type db ? ; FIS_TYPE_REG_H2D flags db ? ; 0bCRRRPPPP, C - 1: Command, 0: Control ; R - Reserved, P - Port multiplier - + command db ? ; Command register featurel db ? ; Feature register, 7:0 - + lba0 db ? ; LBA low register, 7:0 lba1 db ? ; LBA mid register, 15:8 lba2 db ? ; LBA high register, 23:16 device db ? ; Device register - + lba3 db ? ; LBA register, 31:24 lba4 db ? ; LBA register, 39:32 lba5 db ? ; LBA register, 47:40 featureh db ? ; Feature register, 15:8 - + countl db ? ; Count register, 7:0 counth db ? ; Count register, 15:8 icc db ? ; Isochronous command completion control db ? ; Control register - + rb 4 ; Reserved ends ; Register FIS – Device to Host struct FIS_REG_D2H fis_type db ? ; FIS_TYPE_REG_D2H - + flags db ? ; 0bRIRPPPP, P - Port multiplier, R - Reserved ; I - Interrupt bit - + status db ? ; Status register error db ? ; Error register - + lba0 db ? ; LBA low register, 7:0 lba1 db ? ; LBA mid register, 15:8 lba2 db ? ; LBA high register, 23:16 device db ? ; Device register - + lba3 db ? ; LBA register, 31:24 lba4 db ? ; LBA register, 39:32 lba5 db ? ; LBA register, 47:40 db ? ; Reserved - + countl db ? ; Count register, 7:0 counth db ? ; Count register, 15:8 rb 2 ; Reserved - + rb 4 ; Reserved ends @@ -234,28 +233,28 @@ ends ; PIO Setup – Device to Host struct FIS_PIO_SETUP fis_type db ? ; FIS_TYPE_PIO_SETUP - + flags db ? ; 0bRIDRPPPP, P - Port multiplier, R - Reserved ; I - Interrupt bit, D - Data transfer direction, 1 - device to host - + status db ? ; Status register error db ? ; Error register - + lba0 db ? ; LBA low register, 7:0 lba1 db ? ; LBA mid register, 15:8 lba2 db ? ; LBA high register, 23:16 device db ? ; Device register - + lba3 db ? ; LBA register, 31:24 lba4 db ? ; LBA register, 39:32 lba5 db ? ; LBA register, 47:40 db ? ; Reserved - + countl db ? ; Count register, 7:0 counth db ? ; Count register, 15:8 db ? ; Reserved e_status db ? ; New value of status register - + tc dw ? ; Transfer count rb 2 ; Reserved ends @@ -284,10 +283,10 @@ struct FIS_DEV_BITS fis_type db ? ; FIS_TYPE_DEV_BITS flags db ? ; 0bNIRRPPPP, N - Notification, I - Interrupt, ; R - Reserved, P - Port multiplier - + status db ? ; Status register error db ? ; Error register - + protocol dd ? ; Protocol ends @@ -390,8 +389,8 @@ ahci_init: movzx edx, byte [esi+PCIDEV.devfn] and edx, 00000111b ; get only 3 lowest bits (function code) DEBUGF 1, "K: found AHCI controller, (class, subcl, progif) = %x, bus = %x, device = %x, function = %x\n", eax, ebx, ecx, edx - - ; get BAR5 value, it is physical address + + ; get BAR5 value, it is physical address movzx ebx, [esi + PCIDEV.bus] movzx ebp, [esi + PCIDEV.devfn] stdcall pci_read32, ebx, ebp, PCI_REG_BAR5 @@ -475,7 +474,7 @@ ahci_init: bts [esi + HBA_MEM.ghc], bit_AHCI_HBA_GHC_INTERRUPT_ENABLE mov ebx, 2 call delay_hs - + DEBUGF 1, "K: AHCI: caps: %x %x, ver: %x, ghc: %x, pi: %x\n", [esi + HBA_MEM.cap], [esi + HBA_MEM.cap2], [esi + HBA_MEM.version], [esi + HBA_MEM.ghc], [esi + HBA_MEM.pi] ; TODO: @@ -553,7 +552,7 @@ ahci_init: cmp ecx, AHCI_HBA_PxSSTS_DET_PRESENT jne .continue_detect_drives - ; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature] + ; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature] mov ecx, ebx imul ecx, sizeof.PORT_DATA @@ -595,7 +594,7 @@ ahci_init: cmp [ecx + PORT_DATA.drive_type], AHCI_DEV_SATA jne .after_add_disk ; skip adding disk code ; register disk in system: - + ;stdcall ahci_read_first_sector, ecx push ecx @@ -638,7 +637,7 @@ ahci_init: inc ebx jmp .detect_drives - + .end_detect_drives: pop esi @@ -663,7 +662,7 @@ proc ahci_port_identify stdcall, pdata: dword endl pushad - + mov esi, [pdata] ; esi - address of PORT_DATA struct of port stdcall ahci_find_cmdslot, esi @@ -748,7 +747,7 @@ proc ahci_port_identify stdcall, pdata: dword cld rep movsb mov byte [edi], 0 - + stdcall swap_bytes_in_words, modelstr, (46-27)+1 DEBUGF 1, "IDENTIFICATION RESULT: MODEL = %s\n", modelstr @@ -848,7 +847,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums shl ebx, 9 ; *= 512 mov [vbuf_len], ebx DEBUGF AHCI_DBGLVL, "vbuf_len = %u bytes\n", ebx - + mov ebx, [vbuf] and ebx, 0xFFF mov eax, [vbuf] @@ -889,7 +888,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums mov [dbc], eax mov eax, [next_phys_page] mov [new_phys_region_start], eax - jmp .add_prd + jmp .add_prd .check_if2: mov eax, [cur_phys] @@ -934,7 +933,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums and [ebx + HBA_PRDT_ENTRY.flags], not 0x3FFFFF ; zero out lower 22 bits, they used for byte count mov eax, [dbc] or [ebx + HBA_PRDT_ENTRY.flags], eax - + inc [cur_prd] mov eax, [dbc] inc eax @@ -945,7 +944,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums jne @f jmp .fill_prdt_end @@: - + .step_next: mov eax, [vbuf_len] cmp eax, [cur_antioffset] @@ -1051,7 +1050,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto endl pushad - + mov ecx, [pdata] mov ecx, [ecx + PORT_DATA.ctr_ptr] mov ecx, [ecx + AHCI_CTR.mutex] @@ -1096,7 +1095,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto mov ecx, [ecx + PORT_DATA.ctr_ptr] mov ecx, [ecx + AHCI_CTR.mutex] call mutex_unlock - + popad xor eax, eax ret @@ -1110,7 +1109,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect endl pushad - + mov ecx, [pdata] mov ecx, [ecx + PORT_DATA.ctr_ptr] mov ecx, [ecx + AHCI_CTR.mutex] @@ -1146,7 +1145,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect mov ecx, [ecx + PORT_DATA.ctr_ptr] mov ecx, [ecx + AHCI_CTR.mutex] call mutex_unlock - + popad xor eax, eax ret @@ -1158,7 +1157,7 @@ ahci_start_cmd: .wait_cr: ; Wait until CR (bit15) is cleared bt [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_CR jc .wait_cr - + ; Set FRE (bit4) and ST (bit0) bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_FRE bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_ST @@ -1248,7 +1247,7 @@ endp ; ahci_send_cmd: ; push ecx ; mov [eax + HBA_PORT.interrupt_status], 0xFFFFFFFF - + ; mov cl, bl ; mov [eax + HBA_PORT.command_issue], 1 ; shl [eax + HBA_PORT.command_issue], cl @@ -1291,7 +1290,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword mov esi, [port] mov ebx, [phys_page1] mov [esi + HBA_PORT.command_list_base_l], ebx ; set the command list base - mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os + mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os mov edi, [pdata] mov ebx, [virt_page1] @@ -1303,7 +1302,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword mov [edi + PORT_DATA.portno], eax stdcall _memset, ebx, 0, 1024 ; zero out the command list - + ; FIS entry size = 256 bytes per port mov eax, [phys_page1] add eax, 1024 @@ -1312,9 +1311,9 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword mov eax, [virt_page1] add eax, 1024 - mov [edi + PORT_DATA.fb], eax ; set pdata->fb + mov [edi + PORT_DATA.fb], eax ; set pdata->fb stdcall _memset, eax, 0, 256 ; zero out - + stdcall alloc_pages, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16)/4096 mov [phys_page23], eax stdcall map_io_mem, eax, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16), PG_NOCACHE + PG_SWR @@ -1337,7 +1336,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword ; bytes per command table = 64+16+48+PRDT_MAX_ENTRIES*16 = N push edx - + ; cmdheader[ecx].ctba = phys_page23 + ecx*N mov [ebx + HBA_CMD_HDR.ctba], ecx mov edx, [ebx + HBA_CMD_HDR.ctba] @@ -1361,13 +1360,13 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword inc ecx jmp .for1 .for1_end: - + mov eax, [port] call ahci_start_cmd DEBUGF 1, "End rebasing port %u\n", [portno] popad - ret + ret endp ; ----------------------------------------------------------- ; TODO check @@ -1420,9 +1419,9 @@ proc _memset stdcall, dest:dword, val:byte, cnt:dword ; doesnt clobber any regis mov edi, dword [dest] mov al, byte [val] mov ecx, dword [cnt] - rep stosb + rep stosb pop edi ecx eax - ret + ret endp ; Swaps byte order in words diff --git a/kernel/trunk/blkdev/bd_drv.inc b/kernel/trunk/blkdev/bd_drv.inc index 1e0580329..da1b66c4f 100644 --- a/kernel/trunk/blkdev/bd_drv.inc +++ b/kernel/trunk/blkdev/bd_drv.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Disk access through BIOS iglobal @@ -105,7 +104,7 @@ locals sectors_todo dd ? endl ; 1. Initialize number of sectors: get number of requested sectors -; and say that no sectors were read yet. +; and say that no sectors were read yet. mov ecx, [numsectors] mov eax, [ecx] mov dword [ecx], 0 diff --git a/kernel/trunk/blkdev/cd_drv.inc b/kernel/trunk/blkdev/cd_drv.inc index 8e8a5b1c0..54e2c07de 100644 --- a/kernel/trunk/blkdev/cd_drv.inc +++ b/kernel/trunk/blkdev/cd_drv.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;----------------------------------------------------------------------------- ;********************************************************** diff --git a/kernel/trunk/blkdev/disk.inc b/kernel/trunk/blkdev/disk.inc index 3ffdef4be..05ba0b941 100644 --- a/kernel/trunk/blkdev/disk.inc +++ b/kernel/trunk/blkdev/disk.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2011-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; ============================================================================= ; ================================= Constants ================================= diff --git a/kernel/trunk/blkdev/disk_cache.inc b/kernel/trunk/blkdev/disk_cache.inc index 470c0fe8f..765a0102b 100644 --- a/kernel/trunk/blkdev/disk_cache.inc +++ b/kernel/trunk/blkdev/disk_cache.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Read/write functions try to do large operations, ; it is significantly faster than several small operations. diff --git a/kernel/trunk/blkdev/fdc.inc b/kernel/trunk/blkdev/fdc.inc index 1f377ab5d..2c6702c58 100644 --- a/kernel/trunk/blkdev/fdc.inc +++ b/kernel/trunk/blkdev/fdc.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - uglobal dmasize db 0x0 diff --git a/kernel/trunk/blkdev/flp_drv.inc b/kernel/trunk/blkdev/flp_drv.inc index 2c5c2bd3f..24efb5a8c 100644 --- a/kernel/trunk/blkdev/flp_drv.inc +++ b/kernel/trunk/blkdev/flp_drv.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;********************************************************** ; Direct work with floppy disk drive diff --git a/kernel/trunk/blkdev/hd_drv.inc b/kernel/trunk/blkdev/hd_drv.inc index 73c4b56c5..f89c57b1a 100644 --- a/kernel/trunk/blkdev/hd_drv.inc +++ b/kernel/trunk/blkdev/hd_drv.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; HDD driver diff --git a/kernel/trunk/blkdev/ide_cache.inc b/kernel/trunk/blkdev/ide_cache.inc index b030fee6c..b739f2e55 100644 --- a/kernel/trunk/blkdev/ide_cache.inc +++ b/kernel/trunk/blkdev/ide_cache.inc @@ -1,10 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;************************************************************************** ; ; [cache_ide[X]_pointer] @@ -21,8 +22,6 @@ ; ;************************************************************************** -$Revision$ - align 4 find_empty_slot_CD_cache: ;----------------------------------------------------------- diff --git a/kernel/trunk/blkdev/rd.inc b/kernel/trunk/blkdev/rd.inc index 8ae2bccc2..9b076e2e8 100644 --- a/kernel/trunk/blkdev/rd.inc +++ b/kernel/trunk/blkdev/rd.inc @@ -1,12 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; RAMDISK functions ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ iglobal align 4 diff --git a/kernel/trunk/blkdev/rdsave.inc b/kernel/trunk/blkdev/rdsave.inc index 722aa49ef..dfa5a2ea1 100644 --- a/kernel/trunk/blkdev/rdsave.inc +++ b/kernel/trunk/blkdev/rdsave.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - iglobal saverd_fileinfo: diff --git a/kernel/trunk/boot/bootcode.inc b/kernel/trunk/boot/bootcode.inc index 4361b4b82..4365bbd36 100644 --- a/kernel/trunk/boot/bootcode.inc +++ b/kernel/trunk/boot/bootcode.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; @@ -11,8 +11,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;========================================================================== ; @@ -805,7 +803,7 @@ end if push word [es:bp+6] pop word [number_vm] mov word [preboot_graph], bp ;save choose - + jmp .d .change_b: ; b) preboot_biosdisk = use BIOS disks through V86 emulation? @@ -1012,7 +1010,7 @@ end if ; Start the first app (right now it's LAUNCHER) after kernel is loaded? mov al, [preboot_launcher] - mov [es:BOOT_LO.launcher_start], al ;// 0x901D + mov [es:BOOT_LO.launcher_start], al ;// 0x901D ; BOOT DEVICE @@ -1168,7 +1166,7 @@ include '../detect/biosmem.inc' ; and copy them to extended memory mov si, movedesc mov [si+8*2+3], bh ; from - + mov ax, word [BPB_BytsPerSec] shr ax, 1 ; words per sector mov cx, word [BPB_RsvdSecCnt] @@ -1176,7 +1174,7 @@ include '../detect/biosmem.inc' mul cx push ax ; save to stack count of words in boot+FAT xchg ax, cx - + push es push ds pop es @@ -1202,7 +1200,7 @@ sayerr_memmove: ; TODO: BPB_NumFATs !!!!! add bx, word [BPB_BytsPerSec] ; !!! TODO: may be need multiply by BPB_RsvdSecCnt !!! mov byte [si+8*2+3], bh ; bx - begin of FAT - + mov ax, word [BPB_BytsPerSec] shr ax, 1 ; words per sector mov cx, word [BPB_FATSz16] @@ -1217,12 +1215,12 @@ sayerr_memmove: pop es test ah, ah jnz sayerr_floppy - + mov ax, cx shl ax, 1 and eax, 0ffffh ; ax - count of bytes in FAT add dword [si+8*3+2], eax - + ; reading RootDir ; TODO: BPB_NumFATs add bx, ax @@ -1247,7 +1245,7 @@ sayerr_memmove: pop bx push bx add word [FirstDataSector], bx ; Begin of data region of floppy - + ; read RootDir call conv_abs_to_THS pop ax diff --git a/kernel/trunk/boot/bootet.inc b/kernel/trunk/boot/bootet.inc index d93fe55d4..5983f767b 100644 --- a/kernel/trunk/boot/bootet.inc +++ b/kernel/trunk/boot/bootet.inc @@ -1,19 +1,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;====================================================================== ; ; BOOT DATA ; ;====================================================================== -$Revision$ - - d80x25_bottom: latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING info saamiseks. Kui ║' latin1 '║ leiate vigu, anna neist palun teada aadressil: http://board.kolibrios.org ║' diff --git a/kernel/trunk/boot/bootge.inc b/kernel/trunk/boot/bootge.inc index b5c730c8f..61e8e3f56 100644 --- a/kernel/trunk/boot/bootge.inc +++ b/kernel/trunk/boot/bootge.inc @@ -1,22 +1,20 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;====================================================================== ; ; BOOT DATA ; ;====================================================================== -$Revision$ - - d80x25_bottom: db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. Details stehen in der ',186 - db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186 + db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186 line_full_bottom d80x25_bottom_num = 3 diff --git a/kernel/trunk/boot/bootru.inc b/kernel/trunk/boot/bootru.inc index 174ddf34b..372cfa7fa 100644 --- a/kernel/trunk/boot/bootru.inc +++ b/kernel/trunk/boot/bootru.inc @@ -1,19 +1,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;================================================================= ; ; BOOT DATA ; ;================================================================= -$Revision$ - - d80x25_bottom: cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. Подробнее смотрите в файле ║' cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║' @@ -58,7 +56,7 @@ current_cfg_msg cp866 "Текущие настройки:",13,10,0 curvideo_msg cp866 " [a] Видеорежим: ",0 mode0 cp866 "320x200, EGA/CGA 256 цветов",13,10,0 -mode9 cp866 "640x480, VGA 16 цветов",13,10,0 +mode9 cp866 "640x480, VGA 16 цветов",13,10,0 usebd_msg cp866 " [b] Добавить диски, видимые через BIOS:",0 on_msg cp866 " вкл",13,10,0 diff --git a/kernel/trunk/boot/bootsp.inc b/kernel/trunk/boot/bootsp.inc index 45d93ee09..3892b966d 100644 --- a/kernel/trunk/boot/bootsp.inc +++ b/kernel/trunk/boot/bootsp.inc @@ -1,10 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;====================================================================== ; ; BOOT DATA @@ -13,9 +14,6 @@ ; Para modificar éste archivo es necesario abrirlo con codificación CP850 -$Revision$ - - d80x25_bottom: cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║' cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║' diff --git a/kernel/trunk/boot/bootstr.inc b/kernel/trunk/boot/bootstr.inc index 1fd52d526..dadd0684d 100644 --- a/kernel/trunk/boot/bootstr.inc +++ b/kernel/trunk/boot/bootstr.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; boot data: common strings (for all languages) macro line_full_top { diff --git a/kernel/trunk/boot/bootvesa.inc b/kernel/trunk/boot/bootvesa.inc index 39a60fe64..eed657396 100644 --- a/kernel/trunk/boot/bootvesa.inc +++ b/kernel/trunk/boot/bootvesa.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ struc VBE_VGAInfo { .VESASignature dd ? ; char @@ -194,7 +193,7 @@ calc_vmodes_table: mov word [es:bx], 640 mov word [es:bx+2], 480 mov word [es:bx+6], 0x13 - + mov word [es:bx+10], 640 mov word [es:bx+12], 480 mov word [es:bx+16], 0x12 @@ -222,7 +221,7 @@ calc_vmodes_table: jb @f ; 16 bpp might actually be 15 bpp - cmp [es:mi.BitsPerPixel], 16 + cmp [es:mi.BitsPerPixel], 16 jne .l0 cmp [es:mi.GreenMaskSize], 5 jne .l0 @@ -727,7 +726,7 @@ set_vmode: mov si, word [preboot_graph] ;[preboot_graph] mov cx, word [es:si+6] ; number of mode - + mov ax, word [es:si+0] ; resolution X mov bx, word [es:si+2] ; resolution Y diff --git a/kernel/trunk/boot/et.inc b/kernel/trunk/boot/et.inc index 585d3368e..a5529181e 100644 --- a/kernel/trunk/boot/et.inc +++ b/kernel/trunk/boot/et.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Full ASCII code font ; only õ,ä,ü added diff --git a/kernel/trunk/boot/parsers.inc b/kernel/trunk/boot/parsers.inc index e4cf0a98a..754f071e5 100644 --- a/kernel/trunk/boot/parsers.inc +++ b/kernel/trunk/boot/parsers.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; All parsers are called with ds:si -> value of the variable, ; possibly with spaces before, and dx = limit of config file. diff --git a/kernel/trunk/boot/preboot.inc b/kernel/trunk/boot/preboot.inc index eff3072be..1db780820 100644 --- a/kernel/trunk/boot/preboot.inc +++ b/kernel/trunk/boot/preboot.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - display_modechg db 0 ; display mode change for text, yes/no (0 or 2) ; diff --git a/kernel/trunk/boot/rdload.inc b/kernel/trunk/boot/rdload.inc index fd3650efb..8ba37175c 100644 --- a/kernel/trunk/boot/rdload.inc +++ b/kernel/trunk/boot/rdload.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - read_ramdisk: ; READ RAMDISK IMAGE FROM HD (only for IDE0, IDE1, IDE2, IDE3) @@ -111,18 +109,18 @@ no_sys_on_hd: mov edi, RAMDISK mov ecx, 0x1080 xor eax, eax -@@: +@@: stosd loop @b mov ecx, 0x58F7F mov eax, 0xF6F6F6F6 -@@: +@@: stosd loop @b - + mov [RAMDISK+0x200], dword 0xFFFFF0 ; fat table mov [RAMDISK+0x4200], dword 0xFFFFF0 - + not_format_ram_disk: yes_sys_on_hd: diff --git a/kernel/trunk/boot/ru.inc b/kernel/trunk/boot/ru.inc index df4089c13..7bd395ba9 100644 --- a/kernel/trunk/boot/ru.inc +++ b/kernel/trunk/boot/ru.inc @@ -1,17 +1,15 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Generated by RUFNT.EXE ; By BadBugsKiller (C) ; Modifyed by BadBugsKiller 12.01.2004 17:45 -; Шрифт уменьшен в размере и теперь состоит из 2-ух частей, +; Шрифт уменьшен в размере и теперь состоит из 2-ух частей, ; содержащих только символы русского алфавита. ; символы в кодировке ASCII (ДОС'овская), кодовая страница 866. RU_FNT1: @@ -31,7 +29,7 @@ RU_FNT1: db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - + db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 @@ -48,7 +46,7 @@ RU_FNT1: db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00 - + db 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x02, 0x06, 0x7C, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 @@ -65,7 +63,7 @@ RU_FNT1: db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - + RU_FNT2: db 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 @@ -83,7 +81,7 @@ RU_FNT2: db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3E, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xC6, 0x7E, 0x36, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00 - + db 0x6C, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xFC, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 db 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC8, 0xF8, 0xC8, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 diff --git a/kernel/trunk/boot/shutdown.inc b/kernel/trunk/boot/shutdown.inc index ff5388db1..c895f5f3e 100644 --- a/kernel/trunk/boot/shutdown.inc +++ b/kernel/trunk/boot/shutdown.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Shutdown for Menuet ;; @@ -11,7 +11,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 system_shutdown: ; shut down the system diff --git a/kernel/trunk/bootbios.inc b/kernel/trunk/bootbios.inc index beb3d2f20..df806e9c5 100644 --- a/kernel/trunk/bootbios.inc +++ b/kernel/trunk/bootbios.inc @@ -5,7 +5,7 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; 16 BIT ENTRY FROM BOOTSECTOR ;; diff --git a/kernel/trunk/bus/pci/PCIe.inc b/kernel/trunk/bus/pci/PCIe.inc index fe984eb60..76c2da1ca 100644 --- a/kernel/trunk/bus/pci/PCIe.inc +++ b/kernel/trunk/bus/pci/PCIe.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; ;; @@ -12,7 +12,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;*************************************************************************** ; Function @@ -21,16 +20,16 @@ $Revision$ ; Description ; PCIe extended (memory-mapped) config space detection ; -; WARNINGs: -; 1) Very Experimental! +; WARNINGs: +; 1) Very Experimental! ; 2) direct HT-detection (no ACPI or BIOS service used) -; 3) Only AMD/HT processors currently supported +; 3) Only AMD/HT processors currently supported ; ;*************************************************************************** PCIe_CONFIG_SPACE = 0xF0000000 ; to be moved to const.inc mmio_pcie_cfg_addr dd 0x0 ; intel pcie space may be defined here -mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address +mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address align 4 @@ -40,7 +39,7 @@ pci_ext_config: mov ebx, [mmio_pcie_cfg_addr] or ebx, ebx jz @f - or ebx, 0x7FFFFFFF ; required by PCI-SIG standards + or ebx, 0x7FFFFFFF ; required by PCI-SIG standards jnz .pcie_failed add ebx, 0x0FFFFC cmp ebx, [mmio_pcie_cfg_lim]; is the space limit correct? @@ -60,8 +59,8 @@ pci_ext_config: sub bl, 4 and al, 0x80 ; check the NP bit jz .no_pcie_cfg - shl eax, 8 ; bus:[27..20], dev:[19:15] - or eax, 0x00007FFC ; fun:[14..12], reg:[11:2] + shl eax, 8 ; bus:[27..20], dev:[19:15] + or eax, 0x00007FFC ; fun:[14..12], reg:[11:2] mov [mmio_pcie_cfg_lim], eax mov cl, bl mov ax, 0x0002 ; bus = 0, 1dword to read @@ -80,7 +79,7 @@ pci_ext_config: sub eax, [mmio_pcie_cfg_lim]; MMIO must cover at least one bus ja .no_pcie_cfg -; -- it looks like a true PCIe config space; +; -- it looks like a true PCIe config space; mov eax, [mmio_pcie_cfg_addr] ; physical address or eax, (PG_SHARED + PG_LARGE + PG_USER) mov ebx, PCIe_CONFIG_SPACE ; linear address @@ -98,12 +97,12 @@ pci_ext_config: jmp @b .pcie_cfg_mapped: - + ; -- glad to have the extended PCIe config field found ; mov esi, boot_pcie_ok ; call boot_log ret ; <<<<<<<<<<< OK >>>>>>>>>>> - + .no_pcie_cfg: xor eax, eax diff --git a/kernel/trunk/bus/pci/pci16.inc b/kernel/trunk/bus/pci/pci16.inc index 02ec50411..f36058f5e 100644 --- a/kernel/trunk/bus/pci/pci16.inc +++ b/kernel/trunk/bus/pci/pci16.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; PCI16.INC ;; @@ -15,8 +15,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - init_pci_16: diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc index 71c7a88b2..a0d41d6fa 100644 --- a/kernel/trunk/bus/pci/pci32.inc +++ b/kernel/trunk/bus/pci/pci32.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; ;; @@ -21,7 +21,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;*************************************************************************** ; Function @@ -764,4 +763,4 @@ proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword call pci_write_reg pop ebx ret -endp \ No newline at end of file +endp diff --git a/kernel/trunk/bus/usb/hccommon.inc b/kernel/trunk/bus/usb/hccommon.inc index 90eacfab5..279153d42 100644 --- a/kernel/trunk/bus/usb/hccommon.inc +++ b/kernel/trunk/bus/usb/hccommon.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; USB Host Controller support code: hardware-independent part, ; common for all controller types. diff --git a/kernel/trunk/bus/usb/hub.inc b/kernel/trunk/bus/usb/hub.inc index 40cfaa5b6..0cd023aab 100644 --- a/kernel/trunk/bus/usb/hub.inc +++ b/kernel/trunk/bus/usb/hub.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Support for USB (non-root) hubs: ; powering up/resetting/disabling ports, diff --git a/kernel/trunk/bus/usb/init.inc b/kernel/trunk/bus/usb/init.inc index 82641e5c3..40239c6c2 100644 --- a/kernel/trunk/bus/usb/init.inc +++ b/kernel/trunk/bus/usb/init.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Initialization of the USB subsystem. ; Provides usb_init procedure, includes all needed files. diff --git a/kernel/trunk/bus/usb/memory.inc b/kernel/trunk/bus/usb/memory.inc index 1a68336ac..28594a8fd 100644 --- a/kernel/trunk/bus/usb/memory.inc +++ b/kernel/trunk/bus/usb/memory.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Memory management for USB structures. ; Protocol layer uses the common kernel heap malloc/free. diff --git a/kernel/trunk/bus/usb/pipe.inc b/kernel/trunk/bus/usb/pipe.inc index 312594f4b..f5aeaba82 100644 --- a/kernel/trunk/bus/usb/pipe.inc +++ b/kernel/trunk/bus/usb/pipe.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Functions for USB pipe manipulation: opening/closing, sending data etc. ; diff --git a/kernel/trunk/bus/usb/protocol.inc b/kernel/trunk/bus/usb/protocol.inc index 011f07b93..2187903fb 100644 --- a/kernel/trunk/bus/usb/protocol.inc +++ b/kernel/trunk/bus/usb/protocol.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Implementation of the USB protocol for device enumeration. ; Manage a USB device when it becomes ready for USB commands: diff --git a/kernel/trunk/const.inc b/kernel/trunk/const.inc index ccce15250..731a26cc2 100644 --- a/kernel/trunk/const.inc +++ b/kernel/trunk/const.inc @@ -5,8 +5,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - dpl0 = 10010000b ; data read dpl0 drw0 = 10010010b ; data read/write dpl0 diff --git a/kernel/trunk/core/apic.inc b/kernel/trunk/core/apic.inc index 7cb243fb8..d0521f0b8 100644 --- a/kernel/trunk/core/apic.inc +++ b/kernel/trunk/core/apic.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ MAX_IOAPICS = 2 diff --git a/kernel/trunk/core/clipboard.inc b/kernel/trunk/core/clipboard.inc index 45756f8e3..28293b1d7 100644 --- a/kernel/trunk/core/clipboard.inc +++ b/kernel/trunk/core/clipboard.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;------------------------------------------------------------------------------ align 4 @@ -136,7 +134,7 @@ align 4 cmp [ebx], eax je .exit_2 -; there should be a procedure for checking the integrity of the slots +; there should be a procedure for checking the integrity of the slots ; and I will do so in the future ; unlock last slot diff --git a/kernel/trunk/core/conf_lib-sp.inc b/kernel/trunk/core/conf_lib-sp.inc index bbfb42975..23816158b 100644 --- a/kernel/trunk/core/conf_lib-sp.inc +++ b/kernel/trunk/core/conf_lib-sp.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Éste archivo debe ser editado con codificación CP866 diff --git a/kernel/trunk/core/conf_lib.inc b/kernel/trunk/core/conf_lib.inc index 1188dd37d..336a7ddb7 100644 --- a/kernel/trunk/core/conf_lib.inc +++ b/kernel/trunk/core/conf_lib.inc @@ -1,17 +1,16 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;------------------------------------------------------------------------- ;Loading configuration from ini file ; {SPraid.simba} ;------------------------------------------------------------------------- -$Revision$ - iglobal conf_path_sect: db 'path',0 diff --git a/kernel/trunk/core/debug.inc b/kernel/trunk/core/debug.inc index d353005f4..c9dca73b1 100644 --- a/kernel/trunk/core/debug.inc +++ b/kernel/trunk/core/debug.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; diamond, 2006 sys_debug_services: diff --git a/kernel/trunk/core/dll.inc b/kernel/trunk/core/dll.inc index dd9d8f303..1ab0d10a7 100644 --- a/kernel/trunk/core/dll.inc +++ b/kernel/trunk/core/dll.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - DRV_COMPAT = 5 ;minimal required drivers version DRV_CURRENT = 6 ;current drivers model version diff --git a/kernel/trunk/core/export.inc b/kernel/trunk/core/export.inc index 0ae0bfe86..ab4b158ff 100644 --- a/kernel/trunk/core/export.inc +++ b/kernel/trunk/core/export.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Macroinstruction for making export section diff --git a/kernel/trunk/core/exports.inc b/kernel/trunk/core/exports.inc index cdafe1811..7092d95c0 100644 --- a/kernel/trunk/core/exports.inc +++ b/kernel/trunk/core/exports.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 __exports: diff --git a/kernel/trunk/core/ext_lib.inc b/kernel/trunk/core/ext_lib.inc index 92450191b..663a1dd92 100644 --- a/kernel/trunk/core/ext_lib.inc +++ b/kernel/trunk/core/ext_lib.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -8,7 +8,6 @@ ; External kernel dependencies (libraries) loading. ; The code currently does not work, requires correcting dll.inc. -$Revision$ if 0 iglobal diff --git a/kernel/trunk/core/fpu.inc b/kernel/trunk/core/fpu.inc index 778686d98..3dc0dc864 100644 --- a/kernel/trunk/core/fpu.inc +++ b/kernel/trunk/core/fpu.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - init_fpu: clts diff --git a/kernel/trunk/core/heap.inc b/kernel/trunk/core/heap.inc index b6beb6d2c..8d6226498 100644 --- a/kernel/trunk/core/heap.inc +++ b/kernel/trunk/core/heap.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - struct MEM_BLOCK list LHEAD @@ -1589,4 +1587,4 @@ endl xor eax, eax ret -endp \ No newline at end of file +endp diff --git a/kernel/trunk/core/hpet.inc b/kernel/trunk/core/hpet.inc index 992be60f1..e9976187a 100644 --- a/kernel/trunk/core/hpet.inc +++ b/kernel/trunk/core/hpet.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ HPET_ID = 0x0000 HPET_PERIOD = 0x0004 diff --git a/kernel/trunk/core/irq.inc b/kernel/trunk/core/irq.inc index f706cd6f5..efecf139b 100644 --- a/kernel/trunk/core/irq.inc +++ b/kernel/trunk/core/irq.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - IRQ_RESERVED = 56 diff --git a/kernel/trunk/core/malloc.inc b/kernel/trunk/core/malloc.inc index b668b36e8..c57a9c313 100644 --- a/kernel/trunk/core/malloc.inc +++ b/kernel/trunk/core/malloc.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Small heap based on malloc/free/realloc written by Doug Lea ; Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee) diff --git a/kernel/trunk/core/memory.inc b/kernel/trunk/core/memory.inc index 351cb4ec2..af78cd311 100644 --- a/kernel/trunk/core/memory.inc +++ b/kernel/trunk/core/memory.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - align 4 proc alloc_page @@ -597,7 +595,7 @@ proc page_fault_handler mov eax, [page_tabs + ebx*4] test eax, 2 jz .fail ;address is not reserved for usage. Error - + .alloc: call alloc_page test eax, eax @@ -656,10 +654,10 @@ proc page_fault_handler test eax, 12 ;U/S (+below) jnz .fail ;application requested kernel memory - + ;test eax, 8 ;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon - + ;an attempt to write to a protected kernel page diff --git a/kernel/trunk/core/mtrr.inc b/kernel/trunk/core/mtrr.inc index 36f23b240..40abb360b 100644 --- a/kernel/trunk/core/mtrr.inc +++ b/kernel/trunk/core/mtrr.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Initializes PAT (Page Attribute Table) and MTRRs. proc init_pat_mtrr diff --git a/kernel/trunk/core/mtrrtest.asm b/kernel/trunk/core/mtrrtest.asm index d8694e3ae..195f604fb 100644 --- a/kernel/trunk/core/mtrrtest.asm +++ b/kernel/trunk/core/mtrrtest.asm @@ -2,13 +2,7 @@ ; Contains some inputs taken from real-life MTRRs and expected outputs. format PE console ;include 'win32a.inc' -macro $Revision [args] -{ -} -macro ignore_empty_revision_keyword { - macro $Revi#sion$ \{\} -} -ignore_empty_revision_keyword + include '../proc32.inc' include '../struct.inc' entry start diff --git a/kernel/trunk/core/peload.inc b/kernel/trunk/core/peload.inc index cf3c788f0..fee479202 100644 --- a/kernel/trunk/core/peload.inc +++ b/kernel/trunk/core/peload.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ include 'export.inc' diff --git a/kernel/trunk/core/sched.inc b/kernel/trunk/core/sched.inc index 42e0d610d..067006e68 100644 --- a/kernel/trunk/core/sched.inc +++ b/kernel/trunk/core/sched.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; IRQ0 HANDLER (TIMER INTERRUPT) ;; diff --git a/kernel/trunk/core/slab.inc b/kernel/trunk/core/slab.inc index c7babcb19..8e7e4a8ba 100644 --- a/kernel/trunk/core/slab.inc +++ b/kernel/trunk/core/slab.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Memory management for slab structures. ; The allocator meets special requirements: diff --git a/kernel/trunk/core/string.inc b/kernel/trunk/core/string.inc index 5abb7c113..601f8b755 100644 --- a/kernel/trunk/core/string.inc +++ b/kernel/trunk/core/string.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; Author: Kees J. Bot 1 Jan 1994 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; size_t strncat(char *s1, const char *s2, size_t n) ; Append string s2 to s1. diff --git a/kernel/trunk/core/sync.inc b/kernel/trunk/core/sync.inc index 7a8e40b47..814831769 100644 --- a/kernel/trunk/core/sync.inc +++ b/kernel/trunk/core/sync.inc @@ -1,15 +1,12 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Synhronization for MenuetOS. ;; ;; Author: Halyavin Andrey, halyavin@land.ru ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - - RWSEM_WAITING_FOR_WRITE = 0 RWSEM_WAITING_FOR_READ = 1 diff --git a/kernel/trunk/core/sys32-sp.inc b/kernel/trunk/core/sys32-sp.inc index a56df68d2..a475c7651 100644 --- a/kernel/trunk/core/sys32-sp.inc +++ b/kernel/trunk/core/sys32-sp.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Éste archivo debe ser editado con codificación CP866 diff --git a/kernel/trunk/core/sys32.inc b/kernel/trunk/core/sys32.inc index d3a441773..6a52bc621 100644 --- a/kernel/trunk/core/sys32.inc +++ b/kernel/trunk/core/sys32.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ struct EXCEPT_STACK RegEIP dd ? diff --git a/kernel/trunk/core/syscall.inc b/kernel/trunk/core/syscall.inc index 96af2a19d..4beea74c4 100644 --- a/kernel/trunk/core/syscall.inc +++ b/kernel/trunk/core/syscall.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; diff --git a/kernel/trunk/core/taskman.inc b/kernel/trunk/core/taskman.inc index 1c98dbc1f..f43231b19 100644 --- a/kernel/trunk/core/taskman.inc +++ b/kernel/trunk/core/taskman.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - GREEDY_KERNEL = 0 @@ -772,7 +770,7 @@ common_app_entry: test ebp, ebp jz .exit ; APPDATA.exec_params have first thread only, -; so second and next threads don't get here (they jump to .exit) +; so second and next threads don't get here (they jump to .exit) stdcall map_process_image, [ebp + APP_HDR._emem],\ [ebp + APP_HDR.img_base], [ebp + APP_HDR.img_size] mov esi, [ebp + APP_HDR.path_string] @@ -826,10 +824,10 @@ common_app_entry: mov [tls_data_l+4], al mov [tls_data_l+7], ah mov dx, app_tls - mov fs, dx -; { Patch by Coldy, For DLL autoload -.try_load_dll: -; Test app header version + mov fs, dx +; { Patch by Coldy, For DLL autoload +.try_load_dll: +; Test app header version mov ecx, dword[ebp + APP_HDR.img_base] cmp dword[ecx+8], 2 jne .cleanup @@ -838,26 +836,26 @@ common_app_entry: stdcall load_library, dll_lib_path, 0 cmp eax, 0 jne @f -; Something went wrong (TODO: Next 2 line is code copy after .cleanup) +; Something went wrong (TODO: Next 2 line is code copy after .cleanup) stdcall free_kernel_space, [ebp+APP_HDR.img_base] stdcall kernel_free, ebp DEBUGF 1, 'K : DLL.OBJ not found! Terminate application!\n' mov ebx, dll_error_msg mov ebp, notifyapp call fs_execute_from_sysdir_param -; Terminate process (TODO: Need jump to .cleanup after sys_end ?) +; Terminate process (TODO: Need jump to .cleanup after sys_end ?) call sys_end - -@@: + +@@: ; Find APP_STARTUP_THUNK in DLL.OBJ sub eax, 4 mov eax, [eax] - + ;.change_eip: mov ecx, [current_slot] mov ecx, [ecx + APPDATA.pl0_stack] mov [ecx+REG_EIP], eax - + ; } End patch by Coldy, For DLL autoload .cleanup: stdcall free_kernel_space, [ebp+APP_HDR.img_base] diff --git a/kernel/trunk/core/test_malloc.asm b/kernel/trunk/core/test_malloc.asm index 2e4845397..9c21b10ad 100644 --- a/kernel/trunk/core/test_malloc.asm +++ b/kernel/trunk/core/test_malloc.asm @@ -174,10 +174,6 @@ kernel_alloc: mov eax, buffer ret 4 -macro $Revision [args] -{ -} - ; Error handlers error1: mov eax, 1 diff --git a/kernel/trunk/core/timers.inc b/kernel/trunk/core/timers.inc index 81862f3b4..b2f83b2ca 100644 --- a/kernel/trunk/core/timers.inc +++ b/kernel/trunk/core/timers.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2012-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Simple implementation of timers. All timers are organized in a double-linked ; list, and the OS loop after every timer tick processes the list. diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc index 7a154bf77..a935734c6 100644 --- a/kernel/trunk/core/v86.inc +++ b/kernel/trunk/core/v86.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2007-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2007-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Virtual-8086 mode manager ; diamond, 2007, 2008 diff --git a/kernel/trunk/crc.inc b/kernel/trunk/crc.inc index 61b0d5b27..6c18f2fd9 100644 --- a/kernel/trunk/crc.inc +++ b/kernel/trunk/crc.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; This crc32 routine doesn't use precomputed table to allow different ; polynomials, which is the first param. diff --git a/kernel/trunk/data16.inc b/kernel/trunk/data16.inc index 4e0bd3818..1ca3bc3e6 100644 --- a/kernel/trunk/data16.inc +++ b/kernel/trunk/data16.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - flm db 0 preboot_lfb db 0 diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc index e1cd07c55..b044db73c 100644 --- a/kernel/trunk/data32.inc +++ b/kernel/trunk/data32.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - keymap: @@ -179,7 +177,7 @@ kernel_file_load: dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0 ; { Patch by Coldy, For DLL autoload dll_lib_path db '/SYS/LIB/DLL.OBJ',0 -dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0 +dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0 ; } End patch by Coldy, For DLL autoload align 4 diff --git a/kernel/trunk/data32et.inc b/kernel/trunk/data32et.inc index 66fabad54..219c78577 100644 --- a/kernel/trunk/data32et.inc +++ b/kernel/trunk/data32et.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - boot_initirq latin1 'Algväärtustan IRQ',0 boot_picinit latin1 'Algväärtustan PIC',0 @@ -45,4 +43,4 @@ $Revision$ boot_APIC_nfound latin1 'APIC ei leitud', 0 if preboot_blogesc boot_tasking latin1 'Kõik valmis - vajuta ESC alustamiseks',0 -end if \ No newline at end of file +end if diff --git a/kernel/trunk/data32sp.inc b/kernel/trunk/data32sp.inc index 3a55b08d4..6bab756f3 100644 --- a/kernel/trunk/data32sp.inc +++ b/kernel/trunk/data32sp.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - boot_initirq: cp850 'Inicializar IRQ',0 boot_picinit: cp850 'Inicializar PIC',0 diff --git a/kernel/trunk/detect/biosdisk.inc b/kernel/trunk/detect/biosdisk.inc index 81a9f463a..1e20e0abe 100644 --- a/kernel/trunk/detect/biosdisk.inc +++ b/kernel/trunk/detect/biosdisk.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2008-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2008-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Detect all BIOS hard drives. ; diamond, 2008 diff --git a/kernel/trunk/detect/biosmem.inc b/kernel/trunk/detect/biosmem.inc index bf032393d..f4c5e6021 100644 --- a/kernel/trunk/detect/biosmem.inc +++ b/kernel/trunk/detect/biosmem.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2009-2017. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2009-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Query physical memory map from BIOS. ; diamond, 2009 diff --git a/kernel/trunk/detect/dev_fd.inc b/kernel/trunk/detect/dev_fd.inc index 6e3fded9d..57b20c329 100644 --- a/kernel/trunk/detect/dev_fd.inc +++ b/kernel/trunk/detect/dev_fd.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;*************************************************** ; clear the DRIVE_DATA table, diff --git a/kernel/trunk/detect/dev_hdcd.inc b/kernel/trunk/detect/dev_hdcd.inc index 24e256c3f..a8229688e 100644 --- a/kernel/trunk/detect/dev_hdcd.inc +++ b/kernel/trunk/detect/dev_hdcd.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; HDD and CD search diff --git a/kernel/trunk/detect/disks.inc b/kernel/trunk/detect/disks.inc index 0001fb129..a2b4eb934 100644 --- a/kernel/trunk/detect/disks.inc +++ b/kernel/trunk/detect/disks.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - include 'dev_fd.inc' include 'dev_hdcd.inc' diff --git a/kernel/trunk/detect/getcache.inc b/kernel/trunk/detect/getcache.inc index c7f7bde80..f29d4107b 100644 --- a/kernel/trunk/detect/getcache.inc +++ b/kernel/trunk/detect/getcache.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;----------------------------------------------------------------------------- pusha diff --git a/kernel/trunk/detect/init_ata.inc b/kernel/trunk/detect/init_ata.inc index eccd10277..40a51cb90 100644 --- a/kernel/trunk/detect/init_ata.inc +++ b/kernel/trunk/detect/init_ata.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2014-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2014-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;----------------------------------------------------------------------------- ; find the IDE controller in the device list diff --git a/kernel/trunk/detect/sear_par.inc b/kernel/trunk/detect/sear_par.inc index 1c896a27b..6e7b16b5f 100644 --- a/kernel/trunk/detect/sear_par.inc +++ b/kernel/trunk/detect/sear_par.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ search_partitions: push ecx diff --git a/kernel/trunk/detect/vortex86.inc b/kernel/trunk/detect/vortex86.inc index 5dd751c00..c981b606b 100644 --- a/kernel/trunk/detect/vortex86.inc +++ b/kernel/trunk/detect/vortex86.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -9,7 +9,6 @@ ; 26/11/2013 yogev_ezra: Added CPU speed modifier and MMX support flag detection ; Thanks for help to: dunkaist, eAndrew, hidnplayr, Mario -$Revision$ VORTEX86DEBUG = 0 ; For testing in emulators and in non-Vortex86 CPU computers, set this to 1 VORTEX86DEBUGVALUE = 'DMP5' ; FAKE port output = used for testing @@ -41,7 +40,7 @@ endg ; When in debug mode, perform SoC detection regardless of the actual CPU vendor (even for vendors other than DMP) ; When in normal (not debug) mode, check the CPU vendor first, and perform SoC detection only if vendor is 'Vortex86 SoC' -if ~ VORTEX86DEBUG +if ~ VORTEX86DEBUG cmp [cpu_vendor], 'Vort' jnz .Vortex86end ; If the CPU vendor is not 'Vortex86 SoC', skip the SoC detection end if @@ -52,7 +51,7 @@ end if if VORTEX86DEBUG ; When in debug mode, pretend that we received port output equal to "VORTEX86DEBUGVALUE" mov eax, VORTEX86DEBUGVALUE end if - + DEBUGF 1, "K : Vortex86 SoC type register (93H~90H) returned 0x" test eax, eax ; Check whether the port output was '\0' jz .nullPCIoutput ; In case the result is '\0' (NULL), skip further testing and exit @@ -67,7 +66,7 @@ end if sub al, 0x30 ; Current Vortex86 CPU codes are in the range of 31h-37h, so convert them to integer (1,2,...) mov [Vortex86CPUid], al ; Save the CPUid (1=Vortex86SX, 2=Vortex86DX, ..., 7=Vortex86EX, ...) - + mov esi, Vortex86SoClist ; ESI points to the start of Vortex86SoClist (used implicitly in "LODSD" command below) xor ecx, ecx ; Zero ECX (it is used as counter) cld ; Clears the DF flag in the EFLAGS register (DF=0 --> String operations increment ESI) @@ -104,7 +103,7 @@ end if mov eax, SOUTH_BRIDGE+0xCC ; 0x800038CC = PCI Configuration Address Register to read from (8-bit register - accessed as BYTE) call .Vortex86PCIreg ; Flags of Vortex86 South Bridge Internal Peripheral Feature Control Register III (Register Offset: CCh) DEBUGF 1, "K : Vortex86 Internal Peripheral Feature Control Register III (CCh) returned 0x%x\n",al - + mov eax, NORTH_BRIDGE+0xA0 ; 0x800000A0 = PCI Configuration Address Register to read from (32-bit register - accessed as DWORD) call .Vortex86PCIreg ; Get current flags of Vortex86SoC North Bridge Host Control Register (Register Offset: A3h~A0h) DEBUGF 1, "K : Vortex86 Host Control Register (A3h~A0h) returned 0x%x: CPU speed is ",eax @@ -130,7 +129,7 @@ end if DEBUGF 1, "ENABLED\n" ; Print to the log that MMX is enabled .AfterMMXenabled: DEBUGF 1, "K : Vortex86 MMX report to CPUID: " ; Print to the log what CPUID command knowns about MMX support - test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No) + test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No) jnz .Vortex86MMXreported ; MMX is already reported to CPUID (Bit6=1) DEBUGF 1, "OFF - turning it ON for this session\n" ; Print to the log that MMX will now be reported to CPUID or al, 1000000b ; Turn on MMX reporting to CPUID (don't write the value to PCI port yet) @@ -151,7 +150,7 @@ end if mov dl, 0xfc ; CFCh = Vortex86 PCI Configuration Data port in eax, dx ; Read data from PCI data port ret - + .nullPCIoutput: ; Emulators and non-Vortex86 CPU computers will usually return \0 in this register DEBUGF 1, "0 (NULL)\n" diff --git a/kernel/trunk/encoding.inc b/kernel/trunk/encoding.inc index 216291e11..3cd0eb685 100644 --- a/kernel/trunk/encoding.inc +++ b/kernel/trunk/encoding.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; fetch the UTF-8 character in addrspace:offs to char macro fetch_utf8_char addrspace, offs, char diff --git a/kernel/trunk/fdo.inc b/kernel/trunk/fdo.inc index 9d3782794..44edf51ae 100644 --- a/kernel/trunk/fdo.inc +++ b/kernel/trunk/fdo.inc @@ -1,10 +1,9 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; ; Formatted Debug Output (FDO) diff --git a/kernel/trunk/fs/exfat.inc b/kernel/trunk/fs/exfat.inc index e26eee3f9..8b15a6617 100644 --- a/kernel/trunk/fs/exfat.inc +++ b/kernel/trunk/fs/exfat.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2021-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2021-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; exFAT external functions ; in: @@ -267,7 +266,7 @@ exFAT_create_partition: ; movsd ; popa ;------------------------------------------------------------------------------ -; offset +96 = First cluster of root directory +; offset +96 = First cluster of root directory mov eax, [ebx+0x60] ; rootdir cluster mov [ebp+exFAT.ROOT_CLUSTER], eax ; DEBUGF 1, "K : exFAT.ROOT_CLUSTER EAX: %x\n", eax @@ -361,12 +360,12 @@ exFAT_get_name: ; DEBUGF 1, "K : exFAT_get_name.label \n" add esi, 2 lea edi, [ebp+exFAT.volumeLabel] - + push ecx mov ecx, 12 call UTF16to8_string pop ecx - + ; push edi ; lea edi, [ebp+exFAT.volumeLabel] ; DEBUGF 1, "K : exFAT Volume label: %s\n", edi @@ -462,7 +461,7 @@ exFAT_get_name: ; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4] ; DEBUGF 1, "K : exFAT_get_name.longname Input FS EBP:%x\n", ebp ; pop ebp - call .save_curr_sector_number + call .save_curr_sector_number mov eax, [ebp+exFAT.hash_flag] test eax, eax jnz .no @@ -485,7 +484,7 @@ exFAT_get_name: movsd mov [ebp+exFAT.fname_extdir_offset], edi pop esi edi -; copy name +; copy name push edi esi xchg esi, edi add esi, 2 @@ -502,7 +501,7 @@ exFAT_get_name: xor eax, eax stosw pop esi edi - + ; push ebp ; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4] ; DEBUGF 1, "K : exFAT_get_name.longname Output FS EBP:%x\n", ebp @@ -934,14 +933,14 @@ align 4 ; DEBUGF 1, "+ (Hash>>1)) EAX:%x\n", eax movzx bx, byte [esi] add ax, bx -; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax +; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax inc esi dec ecx jnz .start ;-------------------------------------- pop ecx ebx mov [ebp+exFAT.current_hash], eax -; DEBUGF 1, "K : exFAT current hash :%x\n", eax +; DEBUGF 1, "K : exFAT current hash :%x\n", eax pop edi esi .l1: ; push esi @@ -1044,7 +1043,7 @@ exFAT_ReadFile: ; DEBUGF 1, "K : exFAT F70 +16: %x\n", [ebx+16] ; DEBUGF 1, "K : exFAT F70 +20: %x\n", [ebx+20] ; DEBUGF 1, "K : exFAT Path: %s\n", esi - + ; push eax ; pushfd ; pop eax @@ -1115,7 +1114,7 @@ exFAT_ReadFile: sub eax, edx ; low dword file size - file offset low = rest of file push eax mov eax, [ebp+exFAT.RDX_high] - sbb [ebp+exFAT.RAX_high], eax + sbb [ebp+exFAT.RAX_high], eax pop eax jb .fileEnd ; DEBUGF 1, "K : exFAT_ReadFile Hdword rest of file RAX:%x\n", [ebp+exFAT.RAX_high] @@ -1344,7 +1343,7 @@ exFAT_ReadFile: sbb [ebp+exFAT.RCX_high], eax pop eax jbe .readEnd - + ; push edi ; lea edi, [ebp+exFAT.file_dir_entry] ; Check - General Secondary Flags @@ -1389,14 +1388,14 @@ exFAT_ReadFile: adc edx, ebx mov [ebp+exFAT.RAX_high], edx pop edx ebx - + push dword [ebp+exFAT.RCX_high] push ecx ; requested size low - + mov ecx, [ebp+exFAT.RAX_high] mov [ebp+exFAT.RCX_high], ecx mov ecx, eax ; ecx << RFile_start_sector_low - + xor eax, eax mov [ebp+exFAT.RAX_high], eax mov eax, esi ; eax << custer @@ -1521,7 +1520,7 @@ exFAT_ReadFile: pop eax edx sub ebx, edx ; DEBUGF 1, "K : exFAT_ReadFile Return EBX:%x\n", ebx - + ; push eax ; pushfd ; pop eax @@ -1582,7 +1581,7 @@ exFAT_ReadFolder: ; DEBUGF 1, "K : exFAT.ROOT_CLUSTER: %x\n", eax cmp byte [esi], 0 jz .doit - + ; push ebp ; mov ebp,[esp+12+8+4+4] ; DEBUGF 1, "K : exFAT Input FS EBP:%x\n", ebp @@ -2046,7 +2045,7 @@ exFAT_SetFileInfo: call calculate_SetChecksum_field mov [edi+2], ax pop eax - + lea ebx, [ebp+exFAT.buffer] call fs_write32_sys call exFAT_update_disk @@ -2376,7 +2375,7 @@ align 4 movzx bx, byte [esi] add ax, bx ; DEBUGF 1, "+ (UInt16)Entries[Index] EAX:%x\n", eax -.continue: +.continue: inc esi dec ecx jnz .start @@ -2708,4 +2707,4 @@ exFAT_get_sector: mov eax, ecx pop ecx ret -;------------------------------------------------------------------------------ \ No newline at end of file +;------------------------------------------------------------------------------ diff --git a/kernel/trunk/fs/ext.inc b/kernel/trunk/fs/ext.inc index 84a97c205..3e1b75b0e 100644 --- a/kernel/trunk/fs/ext.inc +++ b/kernel/trunk/fs/ext.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; EXT external functions ; in: diff --git a/kernel/trunk/fs/fat.inc b/kernel/trunk/fs/fat.inc index abe3937a6..65ac101ce 100644 --- a/kernel/trunk/fs/fat.inc +++ b/kernel/trunk/fs/fat.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; FAT external functions ; in: diff --git a/kernel/trunk/fs/fs_common.inc b/kernel/trunk/fs/fs_common.inc index 2a87b7e53..c482b7ab1 100644 --- a/kernel/trunk/fs/fs_common.inc +++ b/kernel/trunk/fs/fs_common.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ fsReadCMOS: out 70h, al diff --git a/kernel/trunk/fs/fs_lfn.inc b/kernel/trunk/fs/fs_lfn.inc index d28f20cf4..09a5f63f4 100644 --- a/kernel/trunk/fs/fs_lfn.inc +++ b/kernel/trunk/fs/fs_lfn.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ERROR_SUCCESS = 0 ERROR_DISK_BASE = 1 @@ -156,7 +155,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword jnz .case2_3 ;mov ecx, 32 cmp dword [ebx + 8], 1 ; check encoding - jbe .case1_304 ; if encdoing <= 1 i.e cpp866 + jbe .case1_304 ; if encdoing <= 1 i.e cpp866 mov ecx, 560 ; if unicode then bdvk block len is 560 bytes jmp .case1_end .case1_304: @@ -187,7 +186,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword .switch_none: cmp ecx, ecx jmp .ret - + .end_switch: stdcall is_region_userspace, edx, ecx .ret: diff --git a/kernel/trunk/fs/iso9660.inc b/kernel/trunk/fs/iso9660.inc index 60f80bf08..c6268140b 100644 --- a/kernel/trunk/fs/iso9660.inc +++ b/kernel/trunk/fs/iso9660.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; CD external functions ; in: diff --git a/kernel/trunk/fs/ntfs.inc b/kernel/trunk/fs/ntfs.inc index 197c3a169..f111054f7 100644 --- a/kernel/trunk/fs/ntfs.inc +++ b/kernel/trunk/fs/ntfs.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; NTFS external functions ; in: diff --git a/kernel/trunk/fs/parse_fn.inc b/kernel/trunk/fs/parse_fn.inc index 32b9ab417..b7ae8a542 100644 --- a/kernel/trunk/fs/parse_fn.inc +++ b/kernel/trunk/fs/parse_fn.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ iglobal full_file_name_table dd sysdir_name diff --git a/kernel/trunk/fs/xfs.asm b/kernel/trunk/fs/xfs.asm index e7a50fd67..1fb482629 100644 --- a/kernel/trunk/fs/xfs.asm +++ b/kernel/trunk/fs/xfs.asm @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - include 'xfs.inc' diff --git a/kernel/trunk/fs/xfs.inc b/kernel/trunk/fs/xfs.inc index 807d1ec1d..ab2358e07 100644 --- a/kernel/trunk/fs/xfs.inc +++ b/kernel/trunk/fs/xfs.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; file types from stat.h S_IFMT = 0170000o ; These bits determine file type @@ -259,7 +258,7 @@ struct xfs_dir2_sf_hdr count db ? i8count db ? parent DQ ? ; parent inode number, 4 or 8 bytes -ends +ends struct xfs_dir2_sf_entry namelen db ? ; actual name length (ASCII) diff --git a/kernel/trunk/gui/background.inc b/kernel/trunk/gui/background.inc index 708e4e5b4..9fc729a21 100644 --- a/kernel/trunk/gui/background.inc +++ b/kernel/trunk/gui/background.inc @@ -1,12 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Background graphics implementation @@ -527,12 +526,12 @@ syscall_putarea_backgr: ; sysfn 25 mov esi, ecx ; ecx - size x, edx - size y mov ebp, edx - + lea ebp, [ebp*4] imul ebp, esi stdcall is_region_userspace, edi, ebp jnz .exit - + mov ebp, edx dec ebp @@ -594,4 +593,4 @@ align 4 .exit: popad - ret \ No newline at end of file + ret diff --git a/kernel/trunk/gui/button.inc b/kernel/trunk/gui/button.inc index f26b7c3b0..1f8308959 100644 --- a/kernel/trunk/gui/button.inc +++ b/kernel/trunk/gui/button.inc @@ -1,12 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ button.MAX_BUTTONS = 4095 @@ -71,7 +70,7 @@ syscall_button: ;> 6 (30) = don't draw button ;> 5 (29) = don't draw button frame when pressed ;> esi = button color -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;; Undefine button: ;> edx = pack[8(flags), 24(button identifier)] ;> flags bits: diff --git a/kernel/trunk/gui/event.inc b/kernel/trunk/gui/event.inc index 62be66b4c..500ca6b7c 100644 --- a/kernel/trunk/gui/event.inc +++ b/kernel/trunk/gui/event.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ WINDOW_MOVE_AND_RESIZE_FLAGS = \ mouse.WINDOW_RESIZE_N_FLAG + \ diff --git a/kernel/trunk/gui/font.inc b/kernel/trunk/gui/font.inc index fa6fb344c..92dd39e00 100644 --- a/kernel/trunk/gui/font.inc +++ b/kernel/trunk/gui/font.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ dtext: ; edx -> string @@ -19,18 +18,18 @@ dtext: ; FF=3: UTF-8 8x16, FF=2: UTF-16LE 8x16 ; FF=1: cp866 8x16, FF=0: cp866 6x9 ; SSS = (font multiplier)-1 -; edi=1: force output +; edi=1: force output ; flag CF=1 means that we deal with asciiz but need to draw no more than esi symbols clc -._: +._: push ecx edx - setc dl + setc dl and eax, 0xFFFFFF and ecx, 1 shl 31 shl edx, 29 - or eax, ecx + or eax, ecx or eax, edx - pop edx ecx + pop edx ecx bt ecx, 30 jc @f or eax, 1 shl 30 @@ -93,8 +92,8 @@ dtext: or eax, -1 mov [esp+28], edi jmp .1 -@@: - and eax, 0x00ffffff +@@: + and eax, 0x00ffffff .1: mov edi, edx rep stosd @@ -155,13 +154,13 @@ deltaToScreen = 28 js .done movzx ebx, word [esi] test dword [esp + 24], 1 shl 31 - jnz @f + jnz @f test dword [esp + 24], 1 shl 29 jz .u16Still -@@: +@@: test ebx, ebx jz .done -.u16Still: +.u16Still: inc esi inc esi cmp bx, 1419 @@ -186,13 +185,13 @@ deltaToScreen = 28 xor eax, eax call utf8to16 test dword [esp + 24], 1 shl 31 - jnz @f + jnz @f test dword [esp + 24], 1 shl 29 jz .u8Still -@@: +@@: test eax, eax jz .done -.u8Still: +.u8Still: cmp eax, 1419 jc @f xor eax, eax @@ -214,13 +213,13 @@ deltaToScreen = 28 js .done movzx ebx, byte [esi] test dword [esp + 24], 1 shl 31 - jnz @f + jnz @f test dword [esp + 24], 1 shl 29 jz .866Still -@@: +@@: test ebx, ebx jz .done -.866Still: +.866Still: inc esi pushd esi edi 9 lea ebx, [ebx*8+ebx+font1] @@ -238,13 +237,13 @@ deltaToScreen = 28 js .done movzx eax, byte [esi] test dword [esp + 24], 1 shl 31 - jnz @f + jnz @f test dword [esp + 24], 1 shl 29 - jz .8662uStill -@@: + jz .8662uStill +@@: test eax, eax jz .done -.8662uStill: +.8662uStill: call ansi2uni_char shl eax, 4 lea ebx, [eax+fontUni] diff --git a/kernel/trunk/gui/mouse.inc b/kernel/trunk/gui/mouse.inc index 8d1fa389b..94a450052 100644 --- a/kernel/trunk/gui/mouse.inc +++ b/kernel/trunk/gui/mouse.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2010-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;================================ ;/////// public functions /////// @@ -390,11 +389,11 @@ mouse._.move_handler: ; change cursor to resizing cursor shl esi, BSF sizeof.WDATA add esi, window_data - + ; if resizing cursor we need (eax) isnt set already, set it cmp eax, [esi + WDATA.cursor] je @f - + ; DEBUGF 1, "changing cursor to resizing\n" xchg eax, [esi + WDATA.cursor] ; set resizing cursor, prev cursor goes to eax ; save previous cursor (will be restored when we'll get out of the resizing area) @@ -421,7 +420,7 @@ mouse._.move_handler: test eax, eax jz .end1 - + ; restore prev cursor mov [esi + WDATA.temp_cursor], 0 mov [esi + WDATA.cursor], eax diff --git a/kernel/trunk/gui/skincode.inc b/kernel/trunk/gui/skincode.inc index dc8c3281f..59b23f0ab 100644 --- a/kernel/trunk/gui/skincode.inc +++ b/kernel/trunk/gui/skincode.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - include "skindata.inc" diff --git a/kernel/trunk/gui/skindata.inc b/kernel/trunk/gui/skindata.inc index 331be7343..f9ddc1510 100644 --- a/kernel/trunk/gui/skindata.inc +++ b/kernel/trunk/gui/skindata.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; ; WINDOW SKIN DATA. diff --git a/kernel/trunk/gui/window.inc b/kernel/trunk/gui/window.inc index 78acb189f..b4d8660bc 100644 --- a/kernel/trunk/gui/window.inc +++ b/kernel/trunk/gui/window.inc @@ -1,15 +1,14 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;============================================================================== -; public functions +; public functions ;============================================================================== window.BORDER_SIZE = 5 @@ -74,7 +73,7 @@ syscall_draw_window: ; system function 0 align 4 ; system function 1 -syscall_setpixel: +syscall_setpixel: mov eax, ebx mov ebx, ecx mov ecx, edx @@ -92,7 +91,7 @@ syscall_setpixel: align 4 ; system function 4 -syscall_writetext: +syscall_writetext: push esi ;check pointer on kernel address. test ecx, 0x80000000 @@ -132,7 +131,7 @@ align 4 align 4 ; system function 13 -syscall_drawrect: +syscall_drawrect: mov edi, edx ; color + gradient and edi, 0x80FFFFFF test bx, bx ; x.size @@ -184,8 +183,8 @@ syscall_drawline: align 4 -; system function 48 -syscall_display_settings: +; system function 48 +syscall_display_settings: cmp ebx, .ftable.size-1 ja .ret jmp dword[.ftable + ebx*4] @@ -406,7 +405,7 @@ align 4 ;; Set window shape scale: ;> ebx = 1 ;> ecx = scale power (resulting scale is 2^ebx) -syscall_set_window_shape: +syscall_set_window_shape: mov edi, [current_slot] mov edi, [edi + APPDATA.window] @@ -426,8 +425,8 @@ align 4 ;------------------------------------------------------------------------------ align 4 -; system function 67 -syscall_move_window: +; system function 67 +syscall_move_window: mov edi, [current_slot] mov edi, [edi + APPDATA.window] @@ -482,7 +481,7 @@ align 4 ;------------------------------------------------------------------------------ ; system function 71 -syscall_window_settings: +syscall_window_settings: mov edi, [current_slot] mov edi, [edi + APPDATA.window] or [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION @@ -2322,7 +2321,7 @@ align 4 inc edx @@: shl eax, 28 - or ecx, eax + or ecx, eax xor edi, edi stc call dtext._ diff --git a/kernel/trunk/hid/keyboard.inc b/kernel/trunk/hid/keyboard.inc index df115f108..f3224cfec 100644 --- a/kernel/trunk/hid/keyboard.inc +++ b/kernel/trunk/hid/keyboard.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; ;; Distributed under terms of the GNU General Public License ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - VKEY_LSHIFT = 00000000_00000001b VKEY_RSHIFT = 00000000_00000010b @@ -88,7 +86,7 @@ hotkey_do_test: and eax, 15 cmp al, hotkey_tests_num jae .fail - + xchg eax, edx and al, 3 call [hotkey_tests + edx*4] @@ -111,9 +109,9 @@ set_keyboard_data: shl eax, BSF sizeof.APPDATA mov al, [SLOT_BASE + eax + APPDATA.keyboard_mode] mov [keyboard_mode], al - + mov eax, ecx - + push ebx esi edi ebp call send_scancode pop ebp edi esi ebx @@ -210,7 +208,7 @@ irq1: shl eax, BSF sizeof.APPDATA mov al, [SLOT_BASE + eax + APPDATA.keyboard_mode] mov [keyboard_mode], al - + in al, 0x60 ;-------------------------------------- send_scancode: @@ -224,7 +222,7 @@ send_scancode: mov ch, al cmp al, 0xE0 je @f - + cmp al, 0xE1 jne .normal_code @@: @@ -241,10 +239,10 @@ send_scancode: @@: cmp al, 0x5B jne @f - + cmp cl, 0xE0 jne @f - + mov eax, VKEY_LWIN mov bh, 0 jmp .modifier @@ -252,10 +250,10 @@ send_scancode: @@: cmp al, 0x5C jne @f - + cmp cl, 0xE0 jne @f - + mov eax, VKEY_RWIN mov bh, 0 jmp .modifier @@ -263,53 +261,53 @@ send_scancode: @@: cmp al, 0x2A jne @f - + cmp cl, 0xE0 je .writekey - + mov eax, VKEY_LSHIFT jmp .modifier ;-------------------------------------- @@: cmp al, 0x36 jne @f - + cmp cl, 0xE0 je .writekey - + mov eax, VKEY_RSHIFT jmp .modifier ;-------------------------------------- @@: cmp al, 0x38 jne @f - + mov eax, VKEY_LALT test cl, cl jz .modifier - + mov al, VKEY_RALT jmp .modifier ;-------------------------------------- @@: cmp al, 0x1D jne @f - + mov eax, VKEY_LCONTROL test cl, cl jz .modifier - + mov al, VKEY_RCONTROL cmp cl, 0xE0 jz .modifier - + mov [ext_code], cl jmp .writekey ;-------------------------------------- @@: cmp al, 0x3A jne @f - + mov bl, 4 mov eax, VKEY_CAPSLOCK jmp .no_key.xor @@ -319,7 +317,7 @@ send_scancode: jne @f test cl, cl jnz .writekey - + mov bl, 2 mov eax, VKEY_NUMLOCK jmp .no_key.xor @@ -327,7 +325,7 @@ send_scancode: @@: cmp al, 0x46 jne @f - + mov bl, 1 mov eax, VKEY_SCRLOCK jmp .no_key.xor @@ -336,44 +334,44 @@ send_scancode: xor ebx, ebx test ch, ch js .writekey - + movzx eax, ch ; plain key mov bl, [keymap + eax] mov edx, [kb_state] test dl, VKEY_CONTROL ; ctrl alt del jz .noctrlaltdel - + test dl, VKEY_ALT jz .noctrlaltdel - + cmp ch, 53h jne .noctrlaltdel - + mov [ctrl_alt_del], 1 call wakeup_osloop .noctrlaltdel: test dl, VKEY_CONTROL ; ctrl on ? jz @f - + sub bl, 0x60 @@: test dl, VKEY_CAPSLOCK ; caps lock on ? jz .no_caps_lock - + test dl, VKEY_SHIFT ; shift on ? jz .keymap_shif - + jmp @f ;-------------------------------------- .no_caps_lock: test dl, VKEY_SHIFT ; shift on ? jz @f -.keymap_shif: +.keymap_shif: mov bl, [keymap_shift + eax] @@: test dl, VKEY_ALT ; alt on ? jz @f - + mov bl, [keymap_alt + eax] @@: jmp .writekey @@ -393,7 +391,7 @@ send_scancode: mov bh, 0 test ch, ch js .writekey - + xor [kb_state], eax xor [kb_lights], bl .writekey: @@ -403,22 +401,22 @@ send_scancode: cmp bh, 1 ja .nohotkey jb @f - + xor eax, eax @@: mov eax, [hotkey_scancodes + eax*4] .hotkey_loop: test eax, eax jz .nohotkey - + mov cl, 0 call hotkey_do_test jc .hotkey_cont - + mov cl, 2 call hotkey_do_test jc .hotkey_cont - + mov cl, 4 call hotkey_do_test jnc .hotkey_found @@ -433,7 +431,7 @@ send_scancode: @@: cmp dword [edi], 0 jz .found_free - + add edi, 8 cmp edi, hotkey_buffer+120*8 jb @b @@ -444,7 +442,7 @@ send_scancode: movzx eax, ch cmp bh, 1 jnz @f - + xor eax, eax @@: mov [edi+4], ax @@ -462,10 +460,10 @@ send_scancode: cmp [keyboard_mode], 0; return from keymap jne .scancode - + test bh, bh jnz .exit.irq1 - + test bl, bl jz .exit.irq1 @@ -474,28 +472,28 @@ send_scancode: cmp ch, 53 jne .dowrite - + mov bl, '/' jmp .dowrite @@: cmp ch, 55 jne @f - + mov bl, '*' jmp .dowrite @@: cmp ch, 74 jne @f - + mov bl, '-' jmp .dowrite @@: cmp ch, 78 jne @f - + mov bl, '+' jmp .dowrite @@: @@ -505,10 +503,10 @@ send_scancode: cmp ch, 71 jb .dowrite - + cmp ch, 83 ja .dowrite - + movzx eax, ch mov bl, [numlock_map + eax - 71] jmp .dowrite @@ -832,4 +830,4 @@ align 4 and dword [ecx + 4], 0 and dword [ecx], 0 jmp .ret_eax -;------------------------------------------------------------------------------ \ No newline at end of file +;------------------------------------------------------------------------------ diff --git a/kernel/trunk/hid/mousedrv.inc b/kernel/trunk/hid/mousedrv.inc index 34a6fa186..6c6d8b9bf 100644 --- a/kernel/trunk/hid/mousedrv.inc +++ b/kernel/trunk/hid/mousedrv.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; check mouse ; diff --git a/kernel/trunk/hid/set_dtc.inc b/kernel/trunk/hid/set_dtc.inc index f2d914413..d27f06543 100644 --- a/kernel/trunk/hid/set_dtc.inc +++ b/kernel/trunk/hid/set_dtc.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;setting date,time,clock and alarm-clock ;add sys_settime at servetable as for ex. 22 fcn: @@ -130,7 +128,7 @@ sys_settime: call startstopclk dec edx cmp ebx, 3 - + je .setalarm xor eax, eax;al=0-set seconds out dx, al diff --git a/kernel/trunk/imports.inc b/kernel/trunk/imports.inc index 1ee9cd824..1213ed767 100644 --- a/kernel/trunk/imports.inc +++ b/kernel/trunk/imports.inc @@ -1,19 +1,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;============================================================================ ; ; External kernel dependencies ; ;============================================================================ -$Revision$ - - align 4 @IMPORT: diff --git a/kernel/trunk/init.inc b/kernel/trunk/init.inc index 2176eab95..822ef4958 100644 --- a/kernel/trunk/init.inc +++ b/kernel/trunk/init.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 proc mem_test diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 981771e60..c8c2d1278 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -24,13 +24,12 @@ ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + format binary as "mnt" include 'macros.inc' include 'struct.inc' -$Revision$ - USE_COM_IRQ = 1 ; make irq 3 and irq 4 available for PCI devices VESA_1_2_VIDEO = 0 ; enable vesa 1.2 bank switch functions @@ -4245,7 +4244,7 @@ syscall_threads: movzx eax, [eax+APPDATA.def_priority] jmp .end -.create: ;sysfn 51,1 +.create: ;sysfn 51,1 call new_sys_threads .end: diff --git a/kernel/trunk/kernel32.inc b/kernel/trunk/kernel32.inc index fc683466c..21b7812f6 100644 --- a/kernel/trunk/kernel32.inc +++ b/kernel/trunk/kernel32.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ include "core/sync.inc" ; macros for synhronization objects include "core/sys32.inc" ; process management diff --git a/kernel/trunk/kernelsp.inc b/kernel/trunk/kernelsp.inc index ba931c503..2734b12ff 100644 --- a/kernel/trunk/kernelsp.inc +++ b/kernel/trunk/kernelsp.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; Éste archivo debe ser editado con codificación CP866 diff --git a/kernel/trunk/kglobals.inc b/kernel/trunk/kglobals.inc index eddb15a9e..a92973ca1 100644 --- a/kernel/trunk/kglobals.inc +++ b/kernel/trunk/kglobals.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;------------------------------------------------------------------ ; use "iglobal" for inserting initialized global data definitions. @@ -61,7 +59,7 @@ macro IncludeAllGlobals { IncludeIGlobals IncludeUGlobals } - + iglobal endg diff --git a/kernel/trunk/macros.inc b/kernel/trunk/macros.inc index 58f751db0..54be12a0a 100644 --- a/kernel/trunk/macros.inc +++ b/kernel/trunk/macros.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -15,16 +15,6 @@ macro $Revision a { \} } -macro ignore_empty_revision_keyword { - ; svn keywords are neither substituted by git-svn nor catched by $Revision - ; macro above, ignore them to not fail the build - macro $Rev#ision$ \{\} -} -ignore_empty_revision_keyword - -$Revision$ - - ;// mike.dld, 2006-29-01 [ ; macros definition diff --git a/kernel/trunk/network/ARP.inc b/kernel/trunk/network/ARP.inc index a3aab973c..d73cd68dd 100644 --- a/kernel/trunk/network/ARP.inc +++ b/kernel/trunk/network/ARP.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; ARP.INC ;; @@ -16,7 +16,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ARP_NO_ENTRY = 0 ARP_VALID_MAPPING = 1 diff --git a/kernel/trunk/network/IPv4.inc b/kernel/trunk/network/IPv4.inc index 696701e9e..8316cad13 100644 --- a/kernel/trunk/network/IPv4.inc +++ b/kernel/trunk/network/IPv4.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; IPv4.INC ;; @@ -16,7 +16,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ IPv4_MAX_FRAGMENTS = 64 IPv4_MAX_ROUTES = 64 diff --git a/kernel/trunk/network/IPv6.inc b/kernel/trunk/network/IPv6.inc index 4ae7e2f59..5f8f8b5f5 100644 --- a/kernel/trunk/network/IPv6.inc +++ b/kernel/trunk/network/IPv6.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2012-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; IPv6.INC ;; @@ -14,8 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - struct IPv6_header diff --git a/kernel/trunk/network/PPPoE.inc b/kernel/trunk/network/PPPoE.inc index 68f80fb2c..7f6e92931 100644 --- a/kernel/trunk/network/PPPoE.inc +++ b/kernel/trunk/network/PPPoE.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2012-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; PPPoE.INC ;; @@ -14,8 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - struct PPPoE_frame VersionAndType db ? diff --git a/kernel/trunk/network/ethernet.inc b/kernel/trunk/network/ethernet.inc index 5f8961735..068e3a4bb 100644 --- a/kernel/trunk/network/ethernet.inc +++ b/kernel/trunk/network/ethernet.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; ETHERNET.INC ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ETH_FRAME_MINIMUM = 60 ETH_QUEUE_SIZE = 255 diff --git a/kernel/trunk/network/icmp.inc b/kernel/trunk/network/icmp.inc index 402dbd175..9cfecfb53 100644 --- a/kernel/trunk/network/icmp.inc +++ b/kernel/trunk/network/icmp.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; ICMP.INC ;; @@ -16,7 +16,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; ICMP types & codes diff --git a/kernel/trunk/network/loopback.inc b/kernel/trunk/network/loopback.inc index 25c147f2e..d6c112ce6 100644 --- a/kernel/trunk/network/loopback.inc +++ b/kernel/trunk/network/loopback.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; loopback.inc ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ iglobal align 4 diff --git a/kernel/trunk/network/queue.inc b/kernel/trunk/network/queue.inc index 591244c71..9ffe0ab41 100644 --- a/kernel/trunk/network/queue.inc +++ b/kernel/trunk/network/queue.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; queue.inc ;; @@ -12,7 +12,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; The Queues implemented by these macros form a ring-buffer. ; The data to these queue's always looks like this: @@ -117,4 +116,4 @@ macro init_queue ptr { mov [ptr + queue.w_ptr], edi mov [ptr + queue.r_ptr], edi -} \ No newline at end of file +} diff --git a/kernel/trunk/network/socket.inc b/kernel/trunk/network/socket.inc index 69ea584d7..4759d97d0 100644 --- a/kernel/trunk/network/socket.inc +++ b/kernel/trunk/network/socket.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -15,7 +15,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ struct SOCKET diff --git a/kernel/trunk/network/stack.inc b/kernel/trunk/network/stack.inc index 061f82827..936e3cab2 100644 --- a/kernel/trunk/network/stack.inc +++ b/kernel/trunk/network/stack.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; STACK.INC ;; @@ -21,7 +21,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ uglobal net_10ms dd ? diff --git a/kernel/trunk/network/tcp.inc b/kernel/trunk/network/tcp.inc index cdf5f54de..b948f1750 100644 --- a/kernel/trunk/network/tcp.inc +++ b/kernel/trunk/network/tcp.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ; Socket states TCPS_CLOSED = 0 diff --git a/kernel/trunk/network/tcp_input.inc b/kernel/trunk/network/tcp_input.inc index 2e274fb20..a5f0784a7 100644 --- a/kernel/trunk/network/tcp_input.inc +++ b/kernel/trunk/network/tcp_input.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ TCP_BIT_NEEDOUTPUT = 1 shl 0 TCP_BIT_TIMESTAMP = 1 shl 1 diff --git a/kernel/trunk/network/tcp_output.inc b/kernel/trunk/network/tcp_output.inc index fa0e5dfce..ce1084a00 100644 --- a/kernel/trunk/network/tcp_output.inc +++ b/kernel/trunk/network/tcp_output.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ TCP_BIT_SENDALOT = 1 shl 0 @@ -751,4 +750,4 @@ endl ret -endp \ No newline at end of file +endp diff --git a/kernel/trunk/network/tcp_subr.inc b/kernel/trunk/network/tcp_subr.inc index a35a1e0d1..f2332da18 100644 --- a/kernel/trunk/network/tcp_subr.inc +++ b/kernel/trunk/network/tcp_subr.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 iglobal diff --git a/kernel/trunk/network/tcp_timer.inc b/kernel/trunk/network/tcp_timer.inc index d95848280..56184e1d9 100644 --- a/kernel/trunk/network/tcp_timer.inc +++ b/kernel/trunk/network/tcp_timer.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,7 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ timer_flag_retransmission = 1 shl 0 timer_flag_keepalive = 1 shl 1 @@ -189,4 +188,4 @@ tcp_cancel_timers: mov [eax + TCP_SOCKET.timer_flags], 0 - ret \ No newline at end of file + ret diff --git a/kernel/trunk/network/tcp_usreq.inc b/kernel/trunk/network/tcp_usreq.inc index a3f747544..f2ea2b9c2 100644 --- a/kernel/trunk/network/tcp_usreq.inc +++ b/kernel/trunk/network/tcp_usreq.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Part of the TCP/IP network stack for KolibriOS ;; @@ -14,8 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ;-----------------------------------------------------------------; ; ; @@ -234,4 +232,4 @@ tcp_connect: .established: stdcall cancel_timer_hs, [eax + TCP_SOCKET.timer_connect] xor eax, eax - ret \ No newline at end of file + ret diff --git a/kernel/trunk/network/udp.inc b/kernel/trunk/network/udp.inc index e64a9db56..2ccb10014 100644 --- a/kernel/trunk/network/udp.inc +++ b/kernel/trunk/network/udp.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; UDP.INC ;; @@ -14,8 +14,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - struct UDP_header diff --git a/kernel/trunk/posix/futex.inc b/kernel/trunk/posix/futex.inc index 09edc92da..fbdad7ab4 100644 --- a/kernel/trunk/posix/futex.inc +++ b/kernel/trunk/posix/futex.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 ;struct futex* __fastcall create_futex(int *ptr) diff --git a/kernel/trunk/posix/pipe.inc b/kernel/trunk/posix/pipe.inc index c4d5b47ec..70c397313 100644 --- a/kernel/trunk/posix/pipe.inc +++ b/kernel/trunk/posix/pipe.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ F_READ = 0x0001 ; file opened for reading F_WRITE = 0x0002 ; file opened for writing diff --git a/kernel/trunk/posix/posix.inc b/kernel/trunk/posix/posix.inc index e4bd6c8aa..d1dc27e1e 100644 --- a/kernel/trunk/posix/posix.inc +++ b/kernel/trunk/posix/posix.inc @@ -1,11 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ENOENT = 2 EBADF = 9 diff --git a/kernel/trunk/sound/playnote.inc b/kernel/trunk/sound/playnote.inc index b884766d5..e88b2ed8d 100644 --- a/kernel/trunk/sound/playnote.inc +++ b/kernel/trunk/sound/playnote.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; PLAYNOTE.INC version 1.1 22 November 2003 ;; @@ -16,7 +16,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ align 4 sound_interface: diff --git a/kernel/trunk/unicode.inc b/kernel/trunk/unicode.inc index 02f1fabad..4da55ff9b 100644 --- a/kernel/trunk/unicode.inc +++ b/kernel/trunk/unicode.inc @@ -1,12 +1,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2020-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2020-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License. ;; ;; Version 2, or (at your option) any later version. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ unicode.utf8.decode: test ecx, ecx diff --git a/kernel/trunk/unpacker.inc b/kernel/trunk/unpacker.inc index 35e8f2226..edc028079 100644 --- a/kernel/trunk/unpacker.inc +++ b/kernel/trunk/unpacker.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - ; @brief Unpack LZMA-compressed data. C-style declaration of the function. ; diff --git a/kernel/trunk/video/blitter.inc b/kernel/trunk/video/blitter.inc index 0bad636b1..ea38ac00d 100644 --- a/kernel/trunk/video/blitter.inc +++ b/kernel/trunk/video/blitter.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2011-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - struct BLITTER_BLOCK xmin dd ? @@ -210,7 +208,7 @@ virtual at sizeof.BLITTER .local_vars_size = $ end virtual sub esp, .local_vars_size - + mov [esp + .flags], ebx mov eax, [current_slot] @@ -267,9 +265,9 @@ end virtual mov ebp, [esp + BLITTER.dst_y] add ebx, [eax + WDATA.box.left] add ebp, [eax + WDATA.box.top] - + test [esp + .flags], BLIT_CLIENT_RELATIVE - jz .no_client_relative + jz .no_client_relative add ebx, [eax + WDATA.clientbox.left] add ebp, [eax + WDATA.clientbox.top] diff --git a/kernel/trunk/video/cursors.inc b/kernel/trunk/video/cursors.inc index bb772fe4e..601da5751 100644 --- a/kernel/trunk/video/cursors.inc +++ b/kernel/trunk/video/cursors.inc @@ -1,12 +1,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - LOAD_FROM_FILE = 0 LOAD_FROM_MEM = 1 diff --git a/kernel/trunk/video/framebuffer.inc b/kernel/trunk/video/framebuffer.inc index 095c4553f..44721e49e 100644 --- a/kernel/trunk/video/framebuffer.inc +++ b/kernel/trunk/video/framebuffer.inc @@ -1,13 +1,12 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; Synhronization for MenuetOS. ;; ;; Author: Halyavin Andrey, halyavin@land.ru ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ struct FRB list LHEAD diff --git a/kernel/trunk/video/vesa12.inc b/kernel/trunk/video/vesa12.inc index 14c11492a..7d5e8e0e6 100644 --- a/kernel/trunk/video/vesa12.inc +++ b/kernel/trunk/video/vesa12.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; VESA12.INC ;; @@ -15,8 +15,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ - TRIDENT = 0 S3_VIDEO = 0 diff --git a/kernel/trunk/video/vesa20.inc b/kernel/trunk/video/vesa20.inc index 1f5946273..04d5c6a4f 100644 --- a/kernel/trunk/video/vesa20.inc +++ b/kernel/trunk/video/vesa20.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; VESA20.INC ;; @@ -11,13 +11,12 @@ ;; Alexey, kgaz@crosswindws.net ;; ;; - Voodoo compatible graphics ;; ;; Juan M. Caravaca ;; -;; - Graphics optimimizations eg. drawline ;; +;; - Graphics optimimizations e.g. drawline ;; ;; ;; ;; See file COPYING for details ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ uglobal align 4 diff --git a/kernel/trunk/video/vga.inc b/kernel/trunk/video/vga.inc index 869699e4a..2422819c9 100644 --- a/kernel/trunk/video/vga.inc +++ b/kernel/trunk/video/vga.inc @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; VGA.INC ;; @@ -11,7 +11,6 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -$Revision$ ;------------------------------------------------------------------------------ align 4