Commit Graph

84 Commits

Author SHA1 Message Date
Adam Wulkiewicz
fe708cdf31 [MOS-670] Change clang-format AlwaysBreakTemplateDeclarations to Yes
Add --all and --fix-all options to style-check-hook
2022-08-26 15:22:39 +02:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Lucjan Bryndza
ca75ebe449 [EGD-7587] Change user partition to ext4 fs
Add support for the EXT4 filesystem using LWEXT4
Add minor VFS fixes
Add unittest for the EXT4 partitions
Reformat partition for use EXT4 filesystem

[EGD-7587] Initial cmake of the ext4

[EGD-7587] Block driver for the ext4

Initial version of the block driver for the ext4 device

[EGD-7587] Initial version of the EXT4 fs support

Initial version of the ext4 filesystem support

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

[EGD-7587] Mount unmount initial unit tests

Mount and unmount initial unit tests

[EGD-7587] Unit tests and fixes for ext4

Unit tests and fixes for the ext4 partition

[EGD-7587[ adjust flags

Adjust ext configuration flags

[EGD-7587] Change to generate ext4 image

Change image generation script to generate ext4 image

[EGD-7584] Change cache memory settings

Change cache memory settings

[EGD-7587] Change create image flags

Change create image flags

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

[EGD-7587] Git change lwext4 to the mudita version

Change LWEXT4 to mudita version

[EGD-7587] Modify ext4 implementation

Modify ext4 implementation according to the new lwext4
mudita branch. Some issues were fixed in this branch

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

[EGD-7587] Add to VFS rmdir syscall

Add to VFS missing rmdir for compliance POSIX std

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-10-07 14:39:28 +02:00
Marcin Smoczyński
9267e2d871 [EGD-7161] Remove image name reference in vfs
Add ability to change an image name in the vfs code by decoupling vfs
from a so-called board code.

Introduce platforms as a hardware and os abstraction layer for product
code.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-07-21 12:53:47 +02:00
DariuszSabala
6eeb1d7570 [BH-628] Cleaned up module-vfs cmake
Cleaned up pattern of sharing source files among libraries
using cached lists, ultimately leading to silent linkage
failures. Symbols build repeatedly in different libraries
was linked depending on which library was passed in linker
command arguments first, so for example in same cases
cellular bsp files compiled in module-vfs was linked instead
of those from module-bsp leading to failure of cellular work
despite no explicite build failure.
2021-07-14 15:42:14 +02:00
Lucjan Bryndza
dd3701cf02 [EGD-6752] Fix missing lock guard in the VFS driver
Fix missing lock guard in the device health status method.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-05-12 16:30:26 +02:00
Lucjan Bryndza
89c263c03b [EGD-6518] Change optional methods for the DM
Change numer of minimal optional methods required by the
block device in the disk manager

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-05-12 15:34:20 +02:00
Lucjan Bryndza
101afc48c1 [EGD-6518] Add EEPROM block device driver for VFS
Add block device driver for the factory EEPROM memory
needed for factory settings (aka personalizations)

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-05-12 15:34:20 +02:00
Lukasz Skrzypczak
9d94c84cd9 [EGD-6576] Create EEPROM low level driver
Working eeprom driver.
2021-05-10 12:40:16 +02:00
Lukasz Skrzypczak
de22ef3999 [EGD-6576] WiP I2C HAL API need to be modified
WiP
2021-05-10 12:40:16 +02:00
Maciej Gibowicz
fa61bb38cd [EGD-5661] Add power management for filesystem
Add peripheral control (USDHC and PLL2 clocks)
for file system support.
This will save energy and extend battery life.
2021-04-22 14:05:57 +02:00
Lucjan Bryndza
b04b66e8e0 [EGD-6522] Add EEPROM emulation in the emulator
Add possibility to emulate eeprom in the linux emulator
2021-04-16 12:29:56 +02:00
Lucjan Bryndza
8818b30d1e [EGD-6075] Add support for emmc system partitions
Add support for EMMC hardware partitions to the
disk manager
Hardware system partitions are visible as <device_name>sys<num>
Disk user partitions are visible as <device_name>part<num>

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-04-15 09:19:56 +02:00
Lucjan Bryndza
25d1831bdd [EGD-5737] Fix ugly crash on boot
Fix ugly crash on boot fs
2021-02-17 17:10:45 +01:00
Hubert Chrzaniuk
d02a8e446e [EGD-5014] Change MMC erase logic
MMC erase group size is 512 kB which would enforce
512 kB blocks on file system. Since for our purposes this
would be inefficient erase command has been disallowed.
2021-02-17 17:06:59 +01:00
Hubert Chrzaniuk
5400c1861e [EGD-5014] Add eMMC block device API
Add PureOS wrapper for eMMC driver with support
for basic block device operations.
2021-02-17 17:05:32 +01:00
Lucjan Bryndza
37aee3901c [EGD-5165] Fix emulator crash on lfs and fat
Disk access was not protected by the mutex and race contition
occurs when multiple access was made for lfs and fat.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-02-17 17:05:31 +01:00
Lucjan Bryndza
37c5c2fcc8 [EGD-5153] Fix errors in generate image script
Script for generate partitions for emulator by mistake
overwrites the littlefs image and fatfs image due to the
overlap fat parition and littlefs partition

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-02-17 17:02:15 +01:00
Lucjan Bryndza
32de9ec671 [EGD-5102] Fix compile on rt1051 platform
It is initial commmit which fix compilation after
vfs. global object removal. It still need implementation
newlib syscalls.
2021-02-17 17:02:15 +01:00
Lucjan Bryndza
52ca291b30 [EGD-5097] Fix minor issues with littlefs fuse
Fix minor issues with littlefs implementation
2021-02-17 16:06:33 +01:00
Lucjan Bryndza
3780b4844c [EGD-5074] Add native fscore for emulator
This is a first commit when the emulator uses
the new filesystem core.

libiosyscall library read environment variable

IOSYSCALS_REDIRECT_TO_IMAGE

When  IOSYSCALS_REDIRECT_TO_IMAGE=1 all syscalls
are redirected to the image. If env is not defined
or set to 0 only paths are translated and redirected
to the native linux syscalls

[EGD-5074] Remove free rtox library

Remove unneeded fat library from the freertos

[EGD-5074] Fix freertos mutex as unique

Add freertos mutex in the unique_ptr for avoid inclusion of the
freertos.h

[EGD-5074] Remove frertos-fat submodule

Remove uneeded fat freertos submodule

[EGD-5074] Add handle types in the vfs_subsystem

Add handle types in the vfs subsystem

[EGD-5074] Add submodule for hashmap

Add submodule for hashmap

[EGD-5074] Add support for dirent

Add support for dirent for new filesystem

[EGD-5074] Fix mutex class

Remove mutex in header

[EGD-5074] Remove old vfs from file indexer

File indexer should be fixed for use new vfs

[EGD-5074] Fix unit test vfs

Remove unit tests vfs for clas

[EGD-5074] Add Posix implementation with new fs

Add posix implementation with new fs core

[EGD-5074] Fix stdio syscalls

Fix all stdio syscalls

[EGD-5074] Fix iosyscalls scan family

Fix iosyscalls scan family

[EGD-5074] Fix native API

Fix native api

Work in progress some minor fixes

[EGD-5074] Fix lib stdio

Fix lib stdio

[EGD-5074] fix lseek return value in fat driver

Fix lseek return value in the fat driver

[EGD-5074]  Unit test fix

Unittest fixes

[EGD-5074] Emulator syscalls

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-01-04 16:04:33 +01:00
Lucjan Bryndza
a7484bf9c1 [EGD-4754] Add automount default filesystems
Default automount and parse partitions according to
their configurations using new vfs core. Currently
old (without lfs) and new (with lfs) part schemes are supported
2020-12-22 19:17:16 +01:00
Lucjan Bryndza
f56609aa3b [EGD-4502] Fix and remove old vfs boot
Remove old vfs bootconfig from the vfs which
will be removed in the later commit
2020-12-22 09:26:30 +01:00
Lucjan Bryndza
55ab66e55a [EGD-4499] Create drivers for the VFS (#1128)
* GId modules updated

* Remove module

* Gitmodules update

* [EGD-4499] Global module VFS

* [EGD-4499] vfat driver in progress + fsfat

* [EGD-4499] fffat glue to our implementation.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4498] Glue logic between ff_fat and disk mgr.

* [EGD-4499] Mount and unmount fat_fs.

* [EGD-4499] Filesystem mount seams to be working

* [EGD-4499] Missing umount volume removal

* [EGD-4499] Code review vol 1

* [EGD-4499] Missing erase element from map

* [EGD-4499] Missing mount umount

* [EGD-4261] Mount and unmount tests

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4499] Initial filesystem implementation

Iterate over directories are not completed yet

* [EGD-4261] unit test fix

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4499] Stat vfs for RT1051

* [EGD-4499] Small fix in the seek

* [EGD-4499] Directory handle fix

* [EGD4499] Completed ffat implementation

It is already completed vfat driver for vfs core
but it is not tested yet.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD4499] Code review part #1

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD4499] Remove double dynamic allocation of mount point

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD4499] Partition out of range fix

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4499] Handle leak fix

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4499] VFS vfat completed.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4499] File descriptors from 3 according to POSIX std

0,1,2 fds are reserved for stdin,stdout,stderr

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-12-07 14:18:03 +01:00
Roman Kubiak
0900f22c2c [EGD-4382] vfs fixups (#1126)
* initial value for boot config
* run boot config methods after vfs has been marked as initialized
* type-os
* in case .boot.json is broken, re-write it with defaults
2020-12-02 11:36:13 +01:00
Lucjan Bryndza
8be15b96e4 [EGD-4498] Virtual Filesystem Core Framework (#1074)
* [EGD-4498] Registering and unregistering VFS

* [EGD-4498] Mount structures added

* [EGD-4498] Mount filesystem completed

* [EGD-4498] Mount / unmount / and find mount impl

* [EGD-4498] Per thread directory TLS

* [EGD-4489] Absolute paths implementation

* [EGD-4498] Git ignore vim

* [EGD-4498] VFS core functions without cwd

* [EGD-4498] Other syscalls

* [EGD-4498] Code review fixes

* [EGD-4498] Code review #2

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>

* [EGD-4498] Code review small fixes vol #3

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-12-02 09:47:17 +01:00
Lucjan Bryndza
43b9c45724 [EGD-4512] Prevent vfs crash before init (#1091)
Currently calling any method from class vfs
causes aplication crash when methods are called before
vfs.Init() call. This commit prevent to crash end return failure
instead. The fix is related to any any vfs methods and methods called
through the standard syscall.
It is only the hotfix and it will be removed when new VFS subsystem
will be ready.

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-11-26 13:29:36 +01:00
Lucjan Bryndza
9cbebacd78 [EGD-4262] Disk manager (#1025)
* [EGD-4262] Disk manager API draft

* [EGD-4262] New filesystem master user class

* [EGD-4262] Directory fops

* [EGD-4262] Initial version of disk manager API

* [EGD-4261] Registering and finding block devices.

* [EGD-4262] Disk manager without partition parser

* [EGD-4262] Partition parser intial ver.

* [EGD-4262] Disk read driver for Linux

* [EGD-4262] Disk manager unittests.

This unittests should be improved. Currrently it checks
only minimum functionality. Boundary tests should be added
in the next stage.

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-11-24 12:02:39 +01:00
Roman Kubiak
5ce2f3d329 Revert "[EGD-4344] vfs-utils refactor (#1010)" (#1027)
This reverts commit e6ca468d2c.
2020-11-17 12:27:25 +01:00
Roman Kubiak
e6ca468d2c [EGD-4344] vfs-utils refactor (#1010)
* [EGD-4344] removed vfs-utils.cpp and moved all the functions
to utils or eventStore

* [EGD-4344] removed vfs-utils.cpp and moved all the functions
to utils or eventStore

* [EGD-4344] moved methods to utils::filesystem

* Update module-utils/Utils.cpp

Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>

* Update module-utils/Utils.cpp

Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>

* Update module-utils/Utils.cpp

Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>

* [EGD-4344] test fixes, linux fixes, GUI fixes

* [EGD-4344] rebase fixes

* [EGD-4344] bugfixes for rt1051 and mutex support in EventStore

Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
2020-11-16 15:36:52 +01:00
Lucjan Bryndza
707b31ac3e [EGD-4264] directory reordering (#1001)
* [EGD-4264] VFS directory reordering

Currently VFS uses flat directory structure
for disc manager I need more sofisticated directory layout

* [EGD-4264] Remove redundant -Wno

* [EGD-4261] New purefs API

* [EGD-4264] Unittest fixes

* [EGD-4264] Directory relativity

* [EGD-4264] Relative path fixes

* [EGD-4264] Fix RT1051 compile errors

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-11-16 12:11:24 +01:00
Piotr Tanski
57c7672f8f [EGD-4366] Global data cleanup. (#999) 2020-11-13 10:16:40 +01:00
Lucjan Bryndza
4736ebddf3 [EGD-4029] File indexer notifier (#862)
* [EGD-4029] Initial version of file notifier in the VFS

* [EGD-4029] File indexer notifier in the VFS

* [EGD-4029] Minor syntax fixes in code

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-10-23 13:07:47 +02:00
Lucjan Bryndza
bf2609524c [EGD-4075] Use FATFS in the Linux builds (#843)
* [EGD-4075] Use FAT fs in the emulator

Add script for genrate base phone image

* [EGD-4075] Use FreeRTOS-FAT in emulator initial commit

* [EGD-4075] Thread local storage fix

Fixing thread local storage when running on the
Linux platform in the test mode

* [EGD-4075] Improve image generation

Improve image generation script on the linux platform

* [EGD-4075] Fix all test with FAT fs image

Fix all tests with fatfs image

* [EGD-4075] Fix calculator utility test

* [EGD-4075] Image dependencies fix

* Remove uneeded comments

* Missing headers in CR

* [EGD-4075] Fixed whitespaces

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-10-22 10:34:12 +02:00
Przemyslaw Brudny
e131dae68f [EGD-3743] Removed old doxygen copyright statements from project. 2020-10-20 12:55:10 +02:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Lucjan Bryndza
b337562405 Devel/l.bryndza/freertos fat as a submodule (#828)
* [EGD-4016] Remove FREERTOSFAT before submodule add

* [EGD-4016] FreeRTOS fat as a submodule

Currently VFS class has a separate implementation
which uses native Linux filesystem, so currently the
filesystem can behave differ on the emulator than in the phone.
In the linux emulator VFS should use same FAT code as the phone
and emulate block device as a file on the linux platform.

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-10-14 13:04:12 +02:00
Adam
07b243a084 Egd-3408 Rich text (#712)
* EGD-3408 gui::Text Rich text parser added with pugixml tree & tree walker

* EGD-3408 Fitted code in
2020-09-23 21:03:57 +02:00
Tomasz Sobkowiak
45773ddfdf [EDG-3415] Handle new line when entering text 2020-09-04 13:12:02 +02:00
alek
9821cd77c6 [EGD-3558] remove memalloc 2020-09-04 11:45:50 +02:00
Bartek Cichocki
9095333b2c [EGD-3502] PR fixes 2020-09-02 17:26:01 +02:00
Roman Kubiak
ebaca0f180 linux fix for tests 2020-08-10 13:26:09 +02:00
Roman Kubiak
3c9159366d switched to smart poitners
small fixes from review
2020-08-10 13:26:09 +02:00
Roman Kubiak
d4967ec7e1 linux fixes 2020-08-10 13:26:09 +02:00
Roman Kubiak
d7304ad5ec Initialize version information on service desktop start
It needs to follow RTC init as it needs a current timestamp
2020-08-10 13:26:09 +02:00
Roman Kubiak
8dcb54721b removed sbini
changed boot.ini -> boot.json
replaced sbini code to json11 code (needs ecoboot 1.0.3)
2020-08-10 13:26:09 +02:00
rkubiak01
9cc941d8d2 [EGD-2857] vfs fixes (#439)
* changed microtar and sbini to c++

* VFS: fixes for absolute paths, fprintf wrappers

* Create sys/user during database tests

* review: removed parenthesis around return values in VFS

* changelog updated

* module update

* module updates
2020-06-18 12:27:53 +02:00
Roman Kubiak
7702d6d0cb VFS: added a bypassRoot flag for listdir, needed for
listing updates dir
2020-06-03 16:55:44 +02:00
Roman Kubiak
3558d64412 removed extern errno 2020-06-02 11:28:53 +02:00
Roman Kubiak
9dab138b05 UT for randomId generator and CRC32 computation 2020-06-02 11:28:53 +02:00