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 82939ddd36..f5e14b4353 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 f3b6b53547..4bcc2e1c16 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 79493f3654..6b71c30ec6 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 1e05803291..da1b66c4f1 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 8e8a5b1c01..54e2c07de0 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 3ffdef4bee..05ba0b941a 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 470c0fe8fa..765a0102bc 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 1f377ab5da..2c6702c58b 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 2c5c2bd3fe..24efb5a8c8 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 73c4b56c5f..f89c57b1a0 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 b030fee6ce..b739f2e555 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 8ae2bccc27..9b076e2e89 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 722aa49efb..dfa5a2ea1f 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 4361b4b82f..4365bbd360 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 d93fe55d43..5983f767b4 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 b5c730c8fb..61e8e3f563 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 174ddf34b2..372cfa7fac 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 45d93ee097..3892b966d9 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 1fd52d5267..dadd0684db 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 39a60fe646..eed6573967 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 585d3368e1..a5529181e7 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 e4cf0a98ad..754f071e5f 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 eff3072be4..1db7808204 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 fd3650efbb..8ba37175c2 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 df4089c13f..7bd395ba95 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 ff5388db14..c895f5f3e8 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 beb3d2f204..df806e9c59 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 fe984eb601..76c2da1cab 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 02ec50411c..f36058f5e6 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 71c7a88b2c..a0d41d6fad 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 90eacfab5f..279153d422 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 40cfaa5b6f..0cd023aab6 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 82641e5c3e..40239c6c22 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 1a68336ac8..28594a8fd3 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 312594f4b3..f5aeaba828 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 011f07b933..2187903fb6 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 ccce152508..731a26cc25 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 7cb243fb8e..d0521f0b87 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 45756f8e39..28293b1d76 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 bbfb429753..23816158b9 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 1188dd37d8..336a7ddb70 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 d353005f42..c9dca73b13 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 dd9d8f303b..1ab0d10a74 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 0ae0bfe86f..ab4b158ffe 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 cdafe18111..7092d95c0c 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 92450191b9..663a1dd928 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 778686d98d..3dc0dc864b 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 b6beb6d2cc..8d62264989 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 992be60f1a..e9976187a6 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 f706cd6f5c..efecf139bd 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 b668b36e8b..c57a9c3134 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 351cb4ec22..af78cd311d 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 36f23b2409..40abb360bc 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 d8694e3ae8..195f604fb1 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 cf3c788f03..fee4792026 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 42e0d610df..067006e689 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 c7babcb19f..8e7e4a8ba0 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 5abb7c113c..601f8b755a 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 7a8e40b47f..8148317697 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 a56df68d2e..a475c76514 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 d3a4417735..6a52bc6218 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 96af2a19da..4beea74c40 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 1c98dbc1f9..f43231b193 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 2e4845397b..9c21b10ad6 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 81862f3b48..b2f83b2ca3 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 7a154bf772..a935734c6d 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 61b0d5b278..6c18f2fd93 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 4e0bd3818a..1ca3bc3e68 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 e1cd07c55b..b044db73c6 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 66fabad54b..219c785774 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 3a55b08d46..6bab756f35 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 81a9f463a1..1e20e0abeb 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 bf032393d4..f4c5e60210 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 6e3fded9de..57b20c3294 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 24e256c3f7..a8229688e7 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 0001fb1297..a2b4eb934d 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 c7f7bde80b..f29d4107b6 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 eccd102775..40a51cb90f 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 1c896a27bd..6e7b16b5fb 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 5dd751c008..c981b606ba 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 216291e11c..3cd0eb685f 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 9d3782794a..44edf51ae5 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 e26eee3f9c..8b15a66172 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 84a97c2052..3e1b75b0ec 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 abe3937a65..65ac101ce6 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 2a87b7e535..c482b7ab1b 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 d28f20cf41..09a5f63f4c 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 60f80bf08e..c6268140b6 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 197c3a169f..f111054f78 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 32b9ab4179..b7ae8a542c 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 e7a50fd673..1fb4826296 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 807d1ec1d0..ab2358e07f 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 708e4e5b4e..9fc729a214 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 f26b7c3b0a..1f8308959f 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 62be66b4c7..500ca6b7c2 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 fa6fb344c1..92dd39e009 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 8d1fa389ba..94a450052d 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 dc8c3281f8..59b23f0abe 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 331be73439..f9ddc15107 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 78acb189fc..b4d8660bcb 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 df115f1082..f3224cfec0 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 34a6fa186a..6c6d8b9bf4 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 f2d914413e..d27f065433 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 1ee9cd8246..1213ed767f 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 2176eab950..822ef49585 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 981771e601..c8c2d1278e 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 fc683466c5..21b7812f62 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 ba931c5031..2734b12fff 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 eddb15a9ea..a92973ca1a 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 58f751db00..54be12a0ac 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 a3aab973c2..d73cd68dd4 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 696701e9eb..8316cad134 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 4ae7e2f591..5f8f8b5f53 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 68f80fb2c2..7f6e92931c 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 5f89617353..068e3a4bbc 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 402dbd1752..9cfecfb536 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 25c147f2ef..d6c112ce62 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 591244c71f..9ffe0ab414 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 69ea584d7e..4759d97d07 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 061f82827b..936e3cab2e 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 cdf5f54de7..b948f17507 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 2e274fb20d..a5f0784a7c 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 fa0e5dfce2..ce1084a00d 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 a35a1e0d17..f2332da18f 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 d95848280f..56184e1d9f 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 a3f7475440..f2ea2b9c2d 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 e64a9db566..2ccb10014e 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 09edc92dab..fbdad7ab4f 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 c4d5b47ec8..70c3973132 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 e4bd6c8aa4..d1dc27e1e5 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 b884766d51..e88b2ed8d3 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 02f1fabad6..4da55ff9b4 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 35e8f22266..edc0280798 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 0bad636b1f..ea38ac00d4 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 bb772fe4ee..601da57511 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 095c4553f0..44721e49ea 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 14c11492a3..7d5e8e0e60 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 1f59462738..04d5c6a4fb 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 869699e4a3..2422819c9b 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