Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
9935 251 d 22 h spaceraven /programs/demos/ScreenRuler/ Deleting binary; correcting small mistakes in ScreenRuler.asm  
9934 251 d 23 h spaceraven /programs/demos/ScreenRuler/ New program - Screen Ruler, for measuring distance between 2 pixel on screen.  
9933 261 d 15 h dunkaist /programs/system/taskbar/trunk/ [taskbar] Add LCtrl+Esc hotkey to open/close menu  
9932 273 d 19 h Doczom /kernel/trunk/ [KERNEL] cleared the code of unnecessary comments  
9931 274 d 6 h boppan /kernel/trunk/ [KERNEL][TEST] Run UMKa tests if enabled.

Before this commit UMKa was downloaded, but none of its tests had been executed. Now it executes all the tagged UMKa tests (41 for now). Some tags had been excluded, like #acpi, because the ACPI subsystem is still under development.
 
9930 275 d 20 h Doczom /kernel/trunk/ [KERNEL] The window subsystem has been redesigned:
-extended WDATA structures up to 128 bytes
-added the background_windows constant
-the draw_data array has been deleted
-APPDATA.window and WDATA.thread fields added
-minor fixes in the operation of external file system drivers
 
9929 279 d 22 h boppan /kernel/trunk/ [KERNEL] Trigger GitHub mirror sync.  
9928 287 d 21 h boppan /_tools/workspace/ [WS] Make run.py work on modern qemu  
9927 288 d 2 h boppan /programs/develop/clink/ [clink] Make it able to read and write more than 64k - 1 COFF relocation

These are changes from two commits from the upstream clink repo (https://github.com/mkostoevr/clink) and one commit from the upstream epep repo (https://github.com/mkostoevr/epep).

clink:

Commit e63ed12ead17e47d77e848da0e7b9f4dd3ad5127
Bugfix: Make it able to write more than 64k - 1 COFF relocations

If the relocation count is greater than 0xffff then it can't fit
in the NumberOfRelocations field of a section header. In order to
specify greater relocation count IMAGE_SCN_LNK_NRELOC_OVFL flag
should be added to Characteristics and the actual relocation count
should be written into VirtualAddress field of the first COFF
relocation.

Commit 328fc3112a30fcaa808f2cad34028a6507d602a3
Bugfix: Make it able to read more than 64k - 1 COFF relocations

New EPEP API allows to read more than 64k - 1 relocations. Use it
when reading relocation count for filling SectionInfo and when
reading relocations for wriring the output file.

epep:

Commit 3bed4e348a486c346d0a452c58c1d85e1805c09d
Feature: Higher-level COFF relocations API

Number of COFF relocations of a section is stored in the 16-bit
NumberOfRelocations field of a section header. If a COFF object has
more than 2^16 - 1 relocations, then the value does not fit in the
field.

To solve this problem, IMAGE_SCN_LNK_NRELOC_OVFL flag of a section
header has been introduced. If this flag is set for the section,
then the actual number of relocations is stored in the
VirtualAddress field of the first relocation.

If the flag is set, then NumberOfRelocations field of the section
header should be equal to 0xffff, othervice the linker should give
an error.

So this patch introduces few functions adressing this mechanism.

epep_section_contains_extended_relocations:

Checks whether the section has more than 2^16 - 1 relocations.
Retrns error if the IMAGE_SCN_LNK_NRELOC_OVFL flag is set, but
the NumberOfRelocations field is not equal to 0xffff.

epep_get_section_extended_number_of_relocations:

Reads the number of COFF relocations from the VirtualAddress
field of the first COFF relocation.

epep_get_section_number_of_relocations_x:

Gives the number of meaningful relocations of the section.

If the section has less than 2^16 relocations, then returns the
value of the NumberOfRelocations field of the section header,
othervice reads the number of relocations from the first COFF
relocation, but: since the first relocation in this case is not
meaningful, gives the actual number of relocations minus one.
This is used in the function documented below.

Returns 1 in the last argument if the section contains extended
number of relocations, 0 othervice.

epep_get_section_relocation_by_index_x:

If the section has less than 2^16 relocations, then just reads
a relocation by the given index. In case if the section has
extended number of relocations, the first relocation is not
meaningful, so it is skipped, and the relocation at index + 1
is read instead.
 
9926 330 d 0 h Doczom /kernel/trunk/ [KERNEL] the window subsystem was refactored, WDATA structures were expanded and magic numbers were replaced with constants  
9925 333 d 13 h Doczom /kernel/trunk/ [KERNEL] fixed a bug in rev 9917  
9924 335 d 1 h Doczom / [SDHCI] Added new driver on SD host controller  
9923 336 d 22 h Boppan /kernel/trunk/ [KERNEL][TEST] Download and build UMKa if enabled.  
9922 337 d 2 h Boppan /kernel/trunk/ [KERNEL][TEST] Initialize tup if it is not.  
9921 337 d 3 h Boppan /kernel/trunk/test/common/ [KERNEL][TEST] Fix tests fail for new qemu.  
9920 337 d 3 h Boppan /kernel/trunk/ [KERNEL][TEST] Print informative message on test fail.  
9919 337 d 4 h Boppan /kernel/trunk/test/common/ [KERNEL][TEST] Fail on prematurely finished qemu.  
9918 337 d 21 h Boppan /kernel/trunk/ Tests: Fix testing kernel build

The test system used a custom command to build the testing kernel.
Make it use the tup system.
 
9917 337 d 22 h Doczom /kernel/trunk/ [KERNEL]: Replaced magic numbers with constants and cleaned code  
9916 347 d 11 h Doczom /programs/network/ftpd/ FTPd: added the DELE and STOR functions, fixed the output code for the new connection  
9915 378 d 23 h akron1 /programs/develop/cedit/ CEdit: added [shift+mouse wheel] for horizontal scrolling;
search improved.
 
9914 385 d 5 h qullarwee /programs/other/mousepos/ Upload "mousepos" utility  
9913 402 d 21 h akron1 /programs/develop/cedit/ CEdit: bugfix  
9912 404 d 19 h akron1 / FB2 Reader: fixed rolling up  
9911 406 d 22 h Doczom /kernel/trunk/ [KERNEL] cleaned code and added description of some functions  
9910 407 d 19 h Doczom /kernel/trunk/ [KERNEL] updated local labels in functions and other small changes  
9909 418 d 18 h akron1 /programs/develop/cedit/ CEdit:
- highlight @@:/@f/@b/@r
- numpad support
 
9908 419 d 0 h Doczom /programs/ Updated dll.load. Added support for loading the library using the full path.
Fixed makefile for Whether
 
9907 429 d 4 h akron1 /programs/develop/cedit/ CEdit: fixed whole word search  
9906 441 d 19 h akron1 /programs/develop/cedit/ CEdit: minor fix  
9905 442 d 23 h leency /data/common/File Managers/ndn/ NDN: upload a new version v3.00.0008 2022-12-26 from http://ndn.muxe.com/download/  
9904 448 d 21 h akron1 /programs/develop/cedit/ CEdit: optimization  
9903 451 d 2 h akron1 /programs/develop/cedit/ CEdit: reduced memory usage, small improvements  
9902 453 d 1 h akron1 /programs/develop/cedit/ CEdit: reduced memory usage  
9901 453 d 1 h akron1 /data/ move fNav to ISO  
9900 460 d 17 h Doczom /kernel/trunk/core/ [KERNEL]: Replaced magic numbers with constants:
PAGE_SIZE, -PAGE_SIZE, PAGE_SIZE-1
 
9899 462 d 19 h dunkaist /kernel/trunk/ Unhardcode some PAGE_SIZE related numbers

4096 is PAGE_SIZE
not 4095 is -PAGE_SIZE
etc
 
9898 474 d 3 h akron1 / FB2 Reader: refactoring, reduced memory usage for images, small improvements  
9897 476 d 13 h dunkaist /kernel/trunk/ [kernel] Fix reading from empty board buffer (sf63.2)

Syscall 63.2, reading from the board buffer, was overwriting registers
edx and ebp when the buffer was empty. Now it sets eax and ebx according
to the kernel API.

Because of this ancient bug BOARD checks the status of sf63.2 syscall
this way:
mcall 63, 2
cmp ebx, 1
jne no_data
; when the buffer is empty, ebx is untouched, i.e. still 2, haha
; edx and ebp are destroyed, the code is lucky not to use them

By the way, the bug was found using umka tool.
 
9896 484 d 2 h akron1 / FB2 Reader: upload source, small changes